提交应该运行动作而不是jquery功能

时间:2011-12-23 19:18:29

标签: jquery html

我有这个脚本,用于检查文本框输入是否为URL。

如果输入正确,则应执行操作。

问题是,现在按钮没有运行动作,它只是检查文本框是否是有效的URL,而我真的不能正确理解代码。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">

jQuery.validator.setDefaults({
    debug: true,
    success: "valid"
});;
</script>



<script>
  $(document).ready(function(){
    $("#myform").validate({
  rules: {
    field: {
      required: true,
      url: true
    }
  }
});

$("#field").keyup(function(){
$('#myform').valid();
});
  });
  </script>



<form id="myform" action="http://google.com">
  <label for="field">Required, URL: </label>
  <input class="left" id="field" name="field"/>
  <br/>
  <input type="submit" value="Go" />
</form>

2 个答案:

答案 0 :(得分:0)

试试这个:http://jsfiddle.net/S4WdN/1/

jQuery.validator.setDefaults({
    debug: true,
    success: "valid"
});

$(document).ready(function() {

    $("#myform").validate({
        rules: {
            field: {
                required: true,
                url: true
            }
        }
    });

    $("#field").keyup(function(){
        $('#myform').valid();
    });

    $("#myform").submit(function(e) {
        e.preventDefault();

        if($(this).valid()) {
            $(this).submit();
        }
    });
});

答案 1 :(得分:0)

通过在这里摆弄它:http://jsfiddle.net/jJ7Fh/14/我发现它似乎是debug: true,由于某种原因,它阻止了正常的表单执行。只需注释掉该行,它就可以正常运行..