كيف يزيل Digg "& x = 0 & y = 0" من عنوان URL لنتائج البحث؟

StackOverflow https://stackoverflow.com/questions/1971813

  •  21-09-2019
  •  | 
  •  

سؤال

أنا أستخدم صورة كزر إرسال لنموذج البحث ، أي:

<input id="search" type="image" alt="Search" src="/images/searchButton.png" name=""/>

هذا له تأثير جانبي مؤسف في Chrome و Firefox-تظهر المعلمات & x = 0 & y = 0 في نهاية عنوان URL لنتائج البحث ، على سبيل المثال إذا بحثت عن "طعام" ، أنا موجه إلى الصفحة:

main/search?search=food&x=0&y=0

أشار بعض الصيد عبر الإنترنت إلى أن هذا سلوك قياسي عند استخدام صورة لإرسال نموذج.

لقد لاحظت أن Digg.com يستخدم صورة لإرسال نموذج البحث الخاص به ولكنه يتجنب هذا السلوك. لا يمكنني معرفة كيف يفعلون ذلك. لا يبدو أنهم يستخدمون JavaScript لتقديم النموذج. يمكن لأي شخص أن يقول؟

هل كانت مفيدة؟

المحلول

Digg هو باستخدام JavaScript للقيام بذلك. حاول إرسال نموذج البحث مع تعطيل JavaScript في متصفحك.

نصائح أخرى

بدلا من استخدام <input type="image">, ، يمكنك استخدام أ <button> عنصر:

<button type="submit" style="border: 0; background: transparent">
  <img src="image.png"></img>
</button>

تشير هذه المعلمات إلى الموقع الذي تمارس فيه النقر على الصورة ، وهو السلوك الافتراضي لمعظم المتصفحات إن لم يكن كل ذلك عندما يتعلق الأمر باستخدام الصور كأزرار إرسال. يمكنك استخدام حل بديل يمر عبر JavaScript بشكل أساسي لتقديم النموذج الخاص بك ، مثل ما تراه في مثال Watain. أو يمكنك إنشاء زر إرسال ليس عنصرًا نموذجًا ، من خلال استخدام Form.Submit () كإجراء متصل بهذه الصورة.

يمكنك استخدام JavaScript لتقديم النموذج من هذا القبيل ، لا يزال أسهل طريقة:

<script>
yourForm.onSubmit = function() {
 location.href = 'main/search?search=' + encodeURIComponent(yourForm.elements['query'].value);
 return false;
}
</script>

لسوء الحظ ، لا أعرف كيف يفعلون ذلك بدون JavaScript.

تحرير: راجع للشغل يمكنك أيضًا استخدام بسيطة ستؤدي إلى إرسال النموذج عند النقر عليه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top