아무도이 IF 문이 작동하지 않는 이유를 말해 줄 수 있습니까? jQuery와 Firebug를 사용하고 있지만 후자는 유용한 정보를 제공하지 않습니다.IF 문에 대한 올바른 구문
모든 필드가 완료되고 스크립트가 2 초마다 실행되어 입력을 확인하면 "제출"버튼이 표시됩니다.
내 코드 발췌 조금 이렇게되면 : 사람들이 내가 '생각하는 경우
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>
편집 ...
내가 사과 오류 메시지를 제공하지 않음으로써 시간 낭비 - 그러나 방화범이 끌리는 것은 아무 것도 유용하지 않습니다. 만약 내가 여기에 게시했다면. 필자는 합리적으로 숙련 된 PHP 프로그래머이지만 jQuery에 익숙하지 않으므로 언어를 작성하고 디버깅하는 데 여전히 익숙합니다. 방화범이 끌리는 스크린 샷을 게시하고 싶지만 새 사용자로서 허용되지 않습니다 ... 줄 번호 열에 "빨간색 오류 원형/노란색 재생 삼각형"아이콘이 나타납니다 ("스크립트 "탭) 위에서 언급 한 줄에 ..."스크립트 "및"콘솔 "패널 이외의 다른 위치를 말할 수 없다면 다른 것이 없습니다.
또 다른 편집 ...
글쎄, 나는 그것을 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