停止提交表单按钮

时间:2013-12-24 14:42:05

标签: jquery forms drupal-7 submit

如果两个字段不等同,我试图阻止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');
  }

});

3 个答案:

答案 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函数。