Может кто-нибудь сказать мне, почему это утверждение IF не работает, пожалуйста? Я использую jQuery и Firebug, но последний не дает мне никакой полезной информации.
Я просто пытаюсь открыть кнопку «отправить», когда все поля заполнены и скрипт запускается каждые несколько секунд для проверки ввода.
Мой фрагмент кода выглядит примерно так:
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, но, как новый пользователь, я не имею права ... все, что я получаю, это значок "красный круг ошибки / желтый треугольник воспроизведения" в столбце номеров строк ("скрипт" "tab) в строке, которую я показал выше ... нет ничего другого, если вы не можете сказать мне, где еще искать, кроме панелей" script "и" console "?
Другое редактирование ...
Ну, я исправил это, посмотрев на предложение Кристофа. Это в основном то же решение, но вместо того, чтобы вызывать его как функцию, я помещаю его «в строку». Я не совсем уверен, в чем разница между этими двумя методами или это просто локальная проблема, с которой я столкнулся, но мой новый 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();
}
});
});
Я посмотрю ваши другие комментарии, чтобы посмотреть, смогу ли я их упростить, но, по крайней мере, сейчас у меня есть рабочая базовая линия! Всем спасибо за ваше время :) 1024 *