我知道很多人之前都会问这个,我使用原型非常简单的现场验证,非常好的脚本,但是我用ajax形式使用这个东西的问题。
我知道你的答案是扩展我的js代码中的元素,问题不在于validation.js代码本身,而在于我构建的另一个函数,用于检查表单中的所有字段是否有效根据验证.js规则,如果一切正常则代码去调用包含ajax请求的函数,它在ff和chrome和opera中的工作,但不是在ie。
现在我知道函数validf()中的问题但是我不知道要扩展哪个元素以及究竟如何,这就是整个stroy !!
js函数代码:
function validf(){
var valid = new Validation('addCom');
var vresult = valid.validate();
if(vresult){
return sendCom();
}else{
$('result').innerHTML= '';
}
}
function sendCom() {
new Ajax.Request("sendcom.html",
{
method: 'post',
postBody: 'author='+ $F('author') +'&plc='+ $F('plc') +'&email='+ $F('email') +'&text='+ $F('text'),
onComplete: showResponse
});
}
function showResponse(req){
$('result').innerHTML= req.responseText;
}
表单的HTML代码:
<form id="addCom" name="addCom" onsubmit="return false;">
<input type="hidden" id="postid" name="postid" value="$id" />
<input type="hidden" id="type" name="type" value="news" />
<label for="author">name :</label><br />
<div class="inroundi"><input type="text" id="author" name="author" class="validate-input" /></div>
<label for="plc">place :</label>
<br />
<div class="inroundi"><input type="text" id="plc" name="plc" class="validate-input" /></div>
<label for="email">email :</label>
<br />
<div class="inroundi"><input type="text" id="email" name="email" class="validate-email" /></div>
<label for="text">comment :</label>
<br />
<div class="inroundt"><textarea id="text" name="text" class="validate-textarea"></textarea></div>
<br />
<div id="result"></div>
<input type="submit" value="send" onClick="validf()" />
</form>
<script type="text/javascript">
new Validation('addCom',{immediate : true});
</script>
谢谢大家。
答案 0 :(得分:0)
感谢所有帮助过的好人!!
无论如何我得到了解决方案,
<div id="result"></div>
这与文件validation.js中的另一个对象id类似,我所做的是重命名它。
就是这样。