2011-08-14 2 views
0

Я пытаюсь перенаправить на поиск Google на простой форме, но это не сработает. Вот мой код:Простой javascript onSubmit не работает

<script type="text/javascript"> 
function search(){ 
alert("in function!"); 
var a = document.getElementById("searchbox").value; 
a = "http://www.google.com/#q=" + a; 
a = a.replace(" ","+"); 
alert(a); 
document.location = a; 
} 

</script> 

<form method="post" action="#" onSubmit="search()"> 

<input type="text" id="searchbox" /> 

</form> 

Я не получаю никаких предупреждений.

+0

Как вы заполните форму? Нет кнопки отправки. Он работает с одним: http://jsfiddle.net/BmaD6/ –

+0

Диагноз «это не сработает» не пригодится. Что вы ожидали от этого сценария? Что он делает вместо этого? – cdhowie

+0

Как работает обработчик onSubmit, т.е. search(), активируется. Через кнопку. Через javascript. Если он не активирован, тогда не будет предупреждения! –

ответ

2

Две вещи, сначала это отлично работает для меня, http://jsfiddle.net/LzwAt/1/ Убедитесь, что у вас есть javascript в главном теге файла и не забывайте кнопку отправки;).

Кроме того, если вы просто хотите, чтобы представить Google вы всегда можете просто сделать:

<form action="http://google.com/search" method="GET"> 
    <input type="text" name="q" /> 
    <input type="submit" name="go" value="Search"> 
</form> 

EDIT: попробовать это:

<html> 
    <head> 
     <script type="text/javascript"> 
      function search() 
      { 
       alert("in function!"); 
       var a = document.getElementById("searchbox").value; 
       a = "http://www.google.com/#q=" + a; 
       a = a.replace(" ","+"); 
       alert(a); 
       document.location = a; 
      } 
     </script> 
    </head> 
    <body> 
     <form method="post" action="#" onSubmit="search();return false;"> 
      <input type="text" id="searchbox" /> 
      <input type="submit" name="submit" value="submit"> 
     </form> 
    </body> 
</html> 
+0

Я раньше не использовал jsfiddle, поэтому я не могу понять, как это работает. Я не могу использовать ваш пример, потому что мне нужно изменить строку поиска перед поиском в google. То, что я, наконец, хочу добиться, - это поле ввода, в котором я печатаю вещи, нажмите enter и найдите google-поиск, добавив сайт: bysite.com в конце строки запроса. – yasar

+0

См. Edit, должно работать для вас – Ben

+0

Добавлен немного больше, 'return false;', чтобы форма не перенаправляла вас назад после перенаправления js на google – Ben

Смежные вопросы