Может ли кто-нибудь сказать мне, почему этот оператор IF не работает, пожалуйста? Я использую jQuery и Firebug, но последнее не дает мне никакой полезной информации.Правильный синтаксис для оператора IF
Я просто пытаюсь открыть кнопку «отправить», когда все поля были заполнены, и скрипт запускается каждые пару секунд, чтобы проверить ввод.
Мой фрагмент кода идет немного как это:
function checkForm(){
var userName = $('#name').val();
var userContent = $('#content').val();
var userEmail = $('#email').val();
// The following line shows me that the values for the fields are all getting picked up properly
$('#report').html("userName: "+userName+"<br />userContent: "+userContent+"<br />userEmail: "+userEmail);
// But the following line is throwing some kind of error
if (userName == "" || userContent == "" || userEmail == ""){
$('#update').slideDown();
} else {
$('#update').slideUp();
}
}
$(document).ready(function(){
$('#update').hide();
setInterval('checkForm()' , 2000);
});
И мой HTML ...
<div id="report"></div>
<form id="submitfact">
<div id="update">Update Database</div>
<label><input id="name" name="name" type="text" value="" /><span>Fact submitter's name</span></label>
<label><input id="email" name="email" type="text" value="" /><span>Fact submitter e-mail address</span></label>
<label class="content"><span>Fact text</span><br /><textarea id="content" name="content"></textarea></label>
</form>
Edit ...
Я прошу прощения, если люди думают, что я м тратить свое время, не предоставляя сообщение об ошибке - но Firebug просто не дает мне ничего полезного - если бы это было, я бы разместил его здесь. Я довольно опытный программист php, но довольно новичок в jQuery, поэтому я признаю, что до сих пор понимаю, как писать язык, так и отлаживать его. Я бы хотел опубликовать скриншот ответа Firebug, но, как новый пользователь, мне не разрешено ... все, что я получаю, это значок «красный треугольник ошибки/желтый треугольник» в столбце номеров строк («script ") в строке, показанной выше ... ничего больше, если вы не скажете мне, где еще искать другие, кроме панелей« скрипт »и« консоль »?
Другой редактировать ...
Ну, я получил это фиксируется взглянуть на предложение Cristoph в. Это в основном то же самое решение, но вместо того, чтобы называть его функцией, я ставлю его «встроенным». Я не совсем уверен, что разница между этими двумя методами является или является ли это просто локальная проблема, которую я имел, но мой новый JQuery выглядит следующим образом:
$(document).ready(function(){
$('#submitfact').keyup(function(){
var userName = $('#name').val();
var userContent = $('#content').val();
var userEmail = $('#email').val();
$('#report').html(userName + "<br />" + userContent + "<br />" + userEmail);
if (userName == "" || userContent == "" || userEmail == ""){
$('#update').slideUp();
} else {
$('#update').slideDown();
}
});
});
Я погляжу через другие ваши комментарии, чтобы увидеть если я могу рационализировать его вообще, но, по крайней мере, у меня теперь есть базовый уровень! Спасибо за ваше время, все :)
Действительно ли они пустые строки, или 'null'? Кроме того, я проверил бы эту проверку, когда вход будет изменен, а не таймер. –
Если строка выдает ошибку, не считаете ли вы целесообразным опубликовать сообщение об ошибке? Кроме того, Moo-Juice прав, почему вы делаете это по таймеру ?! – anothershrubery
** Что такое ошибка **? – gdoron