我正在处理一个动态添加少量字段的表单,这些输入字段也有spry验证,因此表单在验证后提交。 如果不需要,也可以删除动态字段。 我使用jquery删除了这些字段,并且在表单上不再可用,但是使用相同的表单无法使用提交按钮提交。
我尝试使用javascript form.submit()函数提交表单,表单已提交但无法接收按钮变量。
那么如何在不可用字段上禁用spry验证检查。
感谢您的回复,这些都很有效 请为spry教程建议任何参考:)
而且我想问 我只使用以下内容来应用spry验证!
var sprytextfield1 = new Spry.Widget.ValidationTextField(“sprytextfield_”,“none”,{minChars:5,maxChars:10});
但我只是破坏了sprytextfield1? 使用它还是必须使用其他方法是好的!
还提到了如何在多个领域实施...... 其中一些选择字段也是!
答案 0 :(得分:1)
如果你引用了被删除的元素,Spry验证小部件就有了destroy()方法。
以下代码显示了以一种微不足道的方式执行此操作:
<!DOCTYPE html>
<html>
<head>
<title>Notifications</title>
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css">
<script>
function clearValidation(){
if(sprytextfield1){
sprytextfield1.reset();
sprytextfield1.destroy()
}
}
function reapplyValidation(){
sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {minChars:5, maxChars:10});
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<label for="sample"></label>
<span id="sprytextfield1">
<label for="myField"></label>
<input type="text" name="myField" id="myField">
<span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldMinCharsMsg">Minimum number of characters not met.</span><span class="textfieldMaxCharsMsg">Exceeded maximum number of characters.</span></span>
<input type="submit" name="submit" id="submit" value="Submit">
<input type="button" name="clear" id="clear" value="clear" onclick="clearValidation();" >
<input type="button" name="reapply" id="reapply" value="reapply" onclick="reapplyValidation();" >
</form>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {minChars:5, maxChars:10});
</script>
</body>
</html>
假设您将Spry文件放在与此页面相同的位置,当您在浏览器中加载页面时,如果您立即单击提交按钮,您应该会看到验证消息。单击清除按钮将删除验证(我还添加了一个reset()调用以清除验证消息,但如果从页面中删除了您的字段及其验证消息包装,那么您可能不需要该部分)。然后单击“提交”按钮将允许页面正确提交。如果加载页面,则单击“提交”(查看验证消息),然后单击“清除”按钮(同时清除验证消息),然后单击“重新应用”按钮。然后提交按钮应显示验证。