您好我在调用jquery脚本时遇到问题。我有一个index.html
文件。我在这里包含jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
我的文件和jquery脚本如下:
<script type="text/javascript" src="js/error.handler.js"></script>
然后当单击特殊按钮时,AJAX函数将regForm.html
文件加载到index.html
的正文中,我有这样的注册表单:
<form name="regForm" id="regForm"action= "save_user.php" method="post">
******
<ul id ="inputForms">
<li id="l11"><input type = "text" id="login" name="login" size="15" maxlength="15" /></li>
</ul>
******
<div id="regButContainer"> <input type="submit" id="regButton2" value="Register Now" name="submit"></div></form>
我尝试用这个脚本验证登录输入字段:
$(function(){
$( "#regForm" ).submit(function( event ) {
var errors = false;
if($('#login').value() == ""){
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}
if (errors==true) {
return false;
}
});});
但是当单击提交按钮时,脚本不起作用,因此它最终会触发save_user.php文件。当我使用html&#39; onsubmit
函数并使用标准的javascript函数时,一切正常。但是我想用jquery做一些奇特的事情,所以我切换到它,现在我在砖墙前面。任何人都可以解释我为什么我的脚本拒绝工作?
答案 0 :(得分:0)
更改
$( '#登录')。值()
到
$( '#登录')。VAL()
答案 1 :(得分:0)
您需要在AJAX加载表单后放置$('#regForm).submit( )
函数。
假设您使用$.load( )
执行此操作,它应该与此类似:
$('#form_container').load('regForm.html', function() {
$( "#regForm" ).submit(function( event ) {
var errors = false;
if($('#login').val() == ""){
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}
if (errors==true) {
return false;
}
});
});
原因是因为在添加提交事件时未加载表单。
答案 2 :(得分:0)
只需添加event.preventDefault();在任何情况下,您都希望停止提交表单。 另外我认为你的问题是你应该有$('#login')。val()而不是$('#login')。value()。通常你的脚本应该没有preventDefault();
$( "#regForm" ).submit(function( event ) {
if($('#login').val() == ""){
event.preventDefault();
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}