이것은 SO에 대한 첫 번째 질문입니다.이 질문에 대한 답을 찾으려고 노력했지만 소용이 없습니다.
Jquery를 사용하여 유효성을 검사하려는 html 양식이 있습니다. 아래 코드는 localhost에서 잘 작동하지만 (wamp를 사용하고 있습니다) 서버에 이것을 넣었을 때 제출 버튼을 누르면 이메일 주소가 유효한 경우에도 오류 메시지가 나타납니다. 제출 작업은 여전히 진행되지만 e.preventDefault();
오류가 발생할 때 사용 하고 있습니다.
http://recharged.in/go-status.php 에서 문제를 재현 할 수 있습니다.
다음은 코드입니다.
<div id="gostatusdiv">
<h1>Status</h1>
<p>Check the status of your order by entering your email address below.<br/>If you are a registered user, your orders won't appear here.</p>
<form id="gostatusform" name="gostatusform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="gostatus"><b>Email Address:</b></label><span id="errorliemail" class="errormsgs" name="errorliemail">
Invalid Email address
</span><br/>
<input type="text" id="gostatus" name="gostatus" placeholder="Email you entered during your order" /><br/>
<input type="submit" id="gostatusbtn" value="Get my orders" name="submit" class="gostatusbtn buttons" />
</form>
<script type="text/javascript">
$('#gostatusform').on('submit', function(e){
$('#errorliemail').slideUp();
$("#gostatus").addClass("validfields");
$("#gostatus").removeClass("invalidfields");
var li_email = $("#gostatus").val();
var mailtest = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
//Validate Email ID
if(!mailtest.test(li_email)) {
e.preventDefault();
$('#errorliemail').slideDown();
$("#li_email").removeClass("validfields");
$("#li_email").addClass("invalidfields");
}
});
</script>
</div>
나는 이것을 일으키는 원인에 대해 조금도 알지 못합니다. 도움을 주시면 감사하겠습니다. 감사.
도움을 주셔서 감사합니다.하지만 제가 직접 해결책을 찾은 것 같습니다. 변경 slideDown()
및 slideUp()
에 show()
와 hide()
트릭했다. 슬라이딩 애니메이션이 스팬으로 실행되지 않는 것 같습니다.
여전히 동일한 코드가 localhost에서 문제없이 실행 된 이유를 잘 모르겠지만 서버에 업로드 할 때 문제가 발생했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다