所以这是我的问题。
我有一个带有简单表单的html页面和一些javascript(jquery)代码来验证它,好吧。
此页面如下所示:test.html
<html>
<head>
<title></title>
<script src="jquery-1.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
function validate(){
$('form').submit(function () {
var txt = $('#SYSTEM_NAME').val();
if (txt == '') $('#loading').append('field is empty');
return false;
})
}
window.onload = validate
<form action="SomeAction" id="form0" method="post">
<fieldset>
<legend>Information</legend>
<div class="editor-field">
<input id="SYSTEM_NAME" name="SYSTEM_NAME" type="text" value="" />
</div>
<input type="submit" value="Insert" id="saveCreation" />
<div id="loading"></div>
</fieldset>
</form>
</body>
</html>
在上面的这个页面中,如果您尝试在“SYSTEM_NAME”字段中没有任何信息的情况下插入,则会显示消息。一切都很好,我的表格已经过验证。
但是当我使用ajax(jquery)从另一个页面加载此页面时,会发生什么,在加载后我在'test.html'上做的验证工作。
示例:
<html>
<head>
<title></title>
<script src="jquery-1.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
$('#go').click(function(){
$('#here').load('test.html')
});
</script>
</head>
<body>
<input type='button' id='go' value='go' />
<div id='here'></div>
</body>
</html>
现在,如果我单击“插入”,验证操作将再次起作用。
我该如何解决这个问题?我可以与加载的页面和JavaScript代码一起进行交互吗?
希望你们明白我的问题。感谢并抱歉犯了错误。
答案 0 :(得分:0)
请原谅我,如果这是一个太大的改变,但我想我可能会建议另一种方法。如何使用jquery validate来帮助您进行验证?这是一个ajax-response验证的例子。下面是父文件...(注意我在头部包括jquery验证。只是忽略&#39; get_test&#39;我用来加载部分。)
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#go').click(function() {
$('#here').load('get_test');
});
});
</script>
</head>
<body>
<input type='button' id='go' value='go' />
<div id='here'></div>
</body>
</html>
以及我正在加载的部分...(注意文本输入有一个&#39; required&#39; - 这就是jquery validate的工作原理。你也会看到一个验证方法。)
<script type="text/javascript">
$("#form0").validate();
</script>
<form action="SomeAction" id="form0" method="post">
<fieldset>
<legend>Information</legend>
<div class="editor-field">
<input id="SYSTEM_NAME" name="SYSTEM_NAME" type="text" value="" class="required" />
</div>
<input type="submit" value="Insert" id="saveCreation" />
<div id="loading"></div>
</fieldset>
</form>