如果两个字段不等同,我试图阻止drupal表单提交。我有两个字段,输入您的电子邮件并确认在允许表单提交之前需要匹配的电子邮件。以下代码在$(document).read(function()调用内。我该怎么做?
$('#webform-client-form-27 #edit-submitted-confirm-email-address').blur(function() {
if ($('#edit-submitted-email-address').val() == $('#edit-submitted-confirm-email-address').val() ) {
$('#edit-submitted-email-address').css('border', '1px solid' );
$('#edit-submitted-email-address').css('border-color', '#848484 #c1c1c1 #e1e1e1' );
$('#edit-submitted-confirm-email-address').css('border', '1px solid' );
$('#edit-submitted-confirm-email-address').css('border-color', '#848484 #c1c1c1 #e1e1e1' );
}
else {
$('#edit-submitted-email-address').css('border', '2px solid red');
$('#edit-submitted-confirm-email-address').css('border', '2px solid red');
}
});
答案 0 :(得分:1)
实际上非常简单:
$('#myForm').on('submit', function(){
if ($('#theAddress').val() != $('#theConfirmation').val()) {
return false;
}
return true;
});
或者如果您只有要检查的那些,您可以压缩它:
$('#myForm').on('submit', function(){
return $('#theAddress').val() == $('#theConfirmation').val();
});
为了详细解释您,添加处理程序时使用返回值。如果您返回true
,则javascript将继续并在submit
事件中提交表单。如果您返回false
,则会停止。
答案 1 :(得分:0)
<form onsubmit="return validateInfoFunction()">
<input type="text" id="email1"/>
<input type="text" id="email2"/>
<input type="submit"/>
</form>
<script type="text/javascript">
function validateInfoFunction(){
if(document.getElementById("email1").value == document.getElementById("email2").value)
{
return true;
}
else return false;
}
</script>
在onsubmit事件中返回false将停止表单提交。希望这可以帮助。
答案 2 :(得分:0)
您可以使用form_name_validate函数直接执行此操作,方法是匹配两个文本框的$ form_state值,如果值不匹配,则可以抛出form_set_error函数。