2014-09-21 4 views
-3

Я хочу добавить условие к моему JavaScript-коду, где, если я напишу правильный ответ в текстовом поле, он перейдет на следующую страницу.Заявление о состоянии Java Script

Например: вопрос: «Что такое столица Японии?», Если я напишу в Токио, он перейдет на новую страницу, но если вы напишете неправильный ответ, он просто покажет сообщение с уведомлением.

<html> 
<head> 
    <script type="text/javascript"> 
     function nameValidate() { 
      valid = true; 
      if (document.getElementById('name').value == "") { 
       alert("Please enter the right answer"); 
       valid = false; 
      } 
      return valid; 
     } 
    </script> 

    <title>Crack the code</title> 
</head> 
<body text="#666633" bgcolor="#cccc99"> 
    <div align="center"> 
     <p class="text"> 
      <h3>What is the Capital of Japan</h3> 
     </p> 

     <table> 
      <tr> 
       <td class="label"></td> 
       <form name="Answer" action="http://news.google.com/" onsubmit="return nameValidate();"> 
        <input type="text" id="name" /> 
        </td> 
        <br /> 
        <br /> 
        <input type="Submit" value="submit" /> 
       </form> 
      </tr> 
      <tr> 
       <td height="8"></td> 
      </tr> 
     </table> 
    </div> 
</body> 
</html> 
+0

Ваш, если условие не будет отвечать вашим требованиям, если вы заполните Дакку для столицы Японии! Поэтому сначала исправьте это. –

+0

Вы можете помочь мне исправить вышеуказанный код, пожалуйста. – Luap

+2

Закрывающий тег '' после '' раздражает меня ... Или лучше, почему тег '

' находится непосредственно внутри ''? – algorhythm

ответ

0

Ваше условие if проверяет, пуст ли ваш текст ввода или нет. Если вы хотите, чтобы убедиться, что ответ Токио вы можете использовать это:

<script type="text/javascript"> 
    function nameValidate(){ 
     var myInput = document.getElementById('name').value.toLowerCase(); 
     var valid = true; 
     if(myInput != "tokyo"){ 
      alert("Please enter the right answer"); 
      valid = false; 
     } 
    return valid; 
    } 
</script> 

Я использую функцию toLowerCase, чтобы гарантировать, что любой возможный ответ будет принят.

+0

привет Спасибо за ваш ответ, но ваш код работает только в Google Chrome, когда я пытаюсь открыть его в fire fox и IE, он не работает. – Luap

+0

какая часть моего кода не работает! это просто простой код javascript. Я проверил свой код снова, на самом деле там была ошибка, но я редактирую свой ответ. Попробуйте еще раз надеяться, что это должно помочь :) –

+0

, когда я тестирую в chrome и firefox, код работает отлично, но когда я его открываю в IE и я печатаю неправильные ответы, которые он по-прежнему входит в веб-сайт, или даже если я оставлю его черным и введите его, он все равно перейдет к ссылке, которую я положил. – Luap

0

Ваш код почти прав, кроме сценария, если пользователь вводит что-то другое, чем вы ожидаете. Вы ничего не замечаете, потому что ваше представление формы отправляется в google, и это также предотвращает Google как-то! Так что это заставляет вас ошибиться! Пожалуйста, измените форму представления, как

action="http://naimrajib.blogspot.com/" 

изменить Также код, как это:

function nameValidate() 
{ 
    var answer = {japan: 'tokyo', bangladesh: 'dhaka'} 
    var valid = true; 
    var input_value = document.getElementById('name').value.toLowerCase(); 

    if (input_value == null || input_value == "") { 
     alert("Please enter the right answer"); 
     valid = false; 
    } 
    else if(input_value == answer.japan){ 
     valid = true; 
    } 
    else 
     valid = false; 

    alert(valid); 
return valid; 
} 

Чтобы увидеть демонстрацию, перейдите по ссылке: http://jsfiddle.net/naimrajib/5Lzt7opg/

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