誰もこの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>
編集...
人々は私が「思えば私が謝罪エラーメッセージを提供しないことで時間を無駄にしていますが、Firebugは単に私に何か有用なものを与えていません。私は合理的に経験豊富なPHPプログラマですが、jQueryについてはかなり新しいので、私はまだ言語を書くこととそれをデバッグすることに慣れていることは認めています。 Firebugのレスポンスのスクリーンショットを投稿したいのですが、新しいユーザーとしては許可されません。行番号の列に「赤いエラーサークル/黄色の再生三角形」のアイコンが表示されます(「スクリプト"タブ)上に示した行には、"スクリプト "パネルと"コンソール "パネル以外の他の場所を教えてくれない限り、何もありません。
別の編集...
まあ、それはCristophの提案を見てとることでIを固定してしまいました。基本的には同じソリューションですが、関数として呼び出す代わりに、 "インライン"にします。私は2つの手法の違いは何であるか全くわからないか、それは単に私が持っていた地元の問題ですが、私の新しい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