2016-04-16 4 views
-1

Может ли кто-нибудь сказать мне, почему этот код не работает? У меня есть вход, и я пытаюсь проверить погоду или нет, вход «старт». Так что я ... как никогда ничего не работает - даже и .ready, но я новичок, поэтому я понятия не имею, в чем проблема.

HTMLjQuery .ready не работает

<form id="inputForm" onsubmit="return false;"> 
    <input id="input" type="text" size="30" autofocus="autofocus" maxlength="100" autocomplete="off"/> 
</form> 

JS:

var input = ""; 

$(document).ready(function() { 
    $("#inputForm").submit(function() { 
    input = $("#input").val().toUpperCase(); 

    if (input === "START") { 
     alert("worked"); 
    } 

    $("#command_input").val(""); 
}) 
}); 
+0

Можете ли вы, пожалуйста, предупредить (ввод) и сообщить мне, что он предупреждает? – Erick

+0

Код кажется правильным. Когда возникает проблема? Получается ли 'input' получение чего-либо? Представлена ​​ли форма? –

+2

Вы импортировали jQuery? jQuery не содержит JavaScript. Это библиотека. – 4castle

ответ

1

После глядя на код здесь: https://jsfiddle.net/cu7tn64o/1/

Это, кажется, работает хорошо! Как и другие комментаторы уже упоминали, это, вероятно, потому, что вы не включили jQuery в ваш HTML файл следующим образом:

<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 

https://code.jquery.com/

2

Я подозреваю, что вы не включили JQuery в свою веб-страницу. Вы можете импортировать его, добавив

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 

Перед script тег для вашего кода. (https://code.jquery.com/jquery имеет больше jQuery CDN)

Вам действительно не нужен jQuery, чтобы сделать это. Вот обычный JS эквивалентный код working here:

var input = ""; 
document.body.onload = function() { 
    document.getElementById("inputForm").addEventListener("submit", function() { 
     input = document.getElementById("input").value.toUpperCase(); 
     if (input === "START") { 
      alert("worked"); 
     } 
     document.getElementById("command_input").value = ""; 
    }); 
}; 
+0

Мне нравится использовать JS или JQuery. Дал вам преимущество для этого. – Dresden

1
  1. Сначала включите файл Jquery с помощью сценария тег в вашем HTML файле.

  2. Отправить форму, используя jquery или в нижнем случае, который я представил с помощью кнопки. Onsubmit значение берется из поля ввода и сравнивается.

var input = ""; 
 

 
$(document).ready(function() { 
 
    $("#inputForm").submit(function() { 
 
    input = $("#input-value").val().toUpperCase(); 
 

 
    if (input === "START") { 
 
     alert("worked"); 
 
    } 
 
    else 
 
    { 
 
    alert("sorry"); 
 
    } 
 

 
    $("#command_input").val(""); 
 
}) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="inputForm" onsubmit="return false;"> 
 
    <input id="input-value" type="text" size="30" autofocus="autofocus" maxlength="100" autocomplete="off"/> 
 
    <input type="submit" name="submit" value="submit" /> 
 
</form>

0

Если вернуться ложным из обработчика события, вещи должны работать.

var input = ""; 

$(document).ready(function() { 
    $("#inputForm").submit(function() { 
     input = $("#input-value").val().toUpperCase(); 

     if (input === "START") { 
      alert("worked"); 
     } else { 
      alert("sorry"); 
     } 

     $("#command_input").val(""); 

     // You have to return false HERE to prevent the default action of a      
     // form -- send a request to a server, that is 

     return false; 
    }); 
}); 
+0

Код работает отлично, как есть. Помещение 'return false' в атрибут' onsubmit' прекрасен. Это только проблема, если они добавили обработчик событий другим способом. – 4castle

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