2013-05-06 3 views
1

Это код javascript.window.location.assign ("link"), не работает

<script type="text/javascript"> 
     function myfunc() 
     { 
      var filmName = document.getElementById("mysearch-text").value; 
      alert(filmName); 
      if(filmName == "parker") 
        window.location.assign("http://www.google.com"); 
      else 
       alert("hello"); 

     }  
    </script> 

Если я вхожу любую другую строка, я получаю «привет» предупреждение и если я вхожу «Паркер» страница «http://www.google.com» обыкновение напиваться. Почему это происходит?

EDIT: Ok, как кто-то упоминал, что я сделал удалить «http://www.google.com» и добавил «http://stackoverflow.com», но это не удалось решить мою проблему. И я не могу даже загружать локальные страницы HTML, которые находятся в том же каталоге

if(filmName == "parker") 
       window.location.assign("index.html"); // also "./index.html" or ./index/html 

Даже это не работает. Что случилось

У меня есть JQuery библиотеки: это Jquery UI и Jquery

Этот вопрос нуждается в большем количестве информации, я думаю. Вот окончательные правки

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8" /> 
    <!-- Other style and js libraries, including Jquery Ui and regular jquery --> 

<script> 
    $(document).ready(function() { 
    $(".youtube").fancybox(); 
    }); // end ready 
</script> 

<script>  
    $(document).ready(function(e) { 
    $('.tooltip').hide(); 
    $('.trigger').mouseover(function() { 
    /* Rest of it, which is not necessary here */ 
</script> 

    <script type="text/javascript"> 
     function myfunc() 
     { 
      var filmName = document.getElementById("mysearch-text").value; 
      alert(filmName); // for debugging 
      if(filmName == "parker") 
        window.location.assign("index.html"); 
      else 
       alert("hello"); 

     }  
    </script> 

</head> 
<body> 
    <div id='mysearch-box'> 
    <form id='mysearch-form'> 
     <input id='mysearch-text' placeholder='' type='text'/><!-- Input here guys --> 
     <button class = "none" id='mysearch-button' onclick = "myfunc()">Search</button> 
    <!-- press this button after entering "parker" --> 
    </form> 
    </div> 

<!-- Rest of the HTML page --> 
</body> 
</html> 
+0

Что делает первый 'предупреждение()' выход? Вы уверены, что запрашиваете значение элемента, обладающего этим свойством? – PeeHaa

+0

, если моя строка ввода - «паркер», затем выдает предупреждения «паркер», но не загружает google.com. Но мой ввод - это любая другая строка, кроме «паркера», тогда «привет» - это предупреждение –

+0

Кажется, что это нормально, если страница не помешает загружать в фреймы. Http://jsfiddle.net/qWMT5/ –

ответ

7

Я предполагаю, что вы используете событие формы onsubmit называть myfunc, если это так, вы должны предотвратить поведение по умолчанию return false; (например)

HTML:

<form id="form"> 
    <input type="text" id="mysearch-text"> 
    <input type="submit" value="Submit"> 
</form> 

JS:

<script> 
    window.onload = function() { 
     document.getElementById("form").onsubmit = function() { 
      var filmName = document.getElementById("mysearch-text").value; 
      alert(filmName); 
      if (filmName == "parker") window.location.href = "http://www.w3fools.com"; 
      else alert("hello"); 
      return false; //prevent the default behavior of the submit event 
     } 
    }   
</script> 
+2

OHHH !!!!! О КАПИТАН, МОЙ КАПИТАН. Оно работает. Большое спасибо. Как ты это догадался? Опыт?. Но ты спас меня, как большое спасибо. :) –

+0

рад, что помог :) –

0

Я проверил следующее решение, и это работает прекрасно:

setTimeout(function(){document.location.href = "page.html;"},500);

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