Javascript 当我试图阻止多次单击提交时,验证不起作用

Javascript 当我试图阻止多次单击提交时,验证不起作用,javascript,php,zend-framework2,Javascript,Php,Zend Framework2,我使用了class='required'进行必要的验证,当我删除onClick=“this.form.submit();this.disabled=true;” 从提交按钮。 我想禁用带有验证的多点单击 <form action="<?php echo $this->url('weeklyplan', array('action' => 'add')); ?>" method="post" id='myform'> <div class="mai

我使用了
class='required'
进行必要的验证,当我删除
onClick=“this.form.submit();this.disabled=true;”
从提交按钮。 我想禁用带有验证的多点单击

<form action="<?php echo $this->url('weeklyplan', array('action' => 'add')); ?>" method="post" id='myform'>
    <div class="mainformdiv">
        <div class= "formelementblock">
            <div class="formelement">
                <select name="txtdefined_week_id" id="txtdefined_week_id" class="select-block required"  onchange="showdateranges()">
                    <option value="">Select Defined Week</option>
                    <?php foreach ($definedweeks as $obj) { ?>
                        <option value="<?php echo $obj->defined_week_id; ?>"><?php echo $obj->start_day . "-" . $obj->end_day; ?></option>
                    <?php } ?>
                </select>
            </div>
        </div>

        <div class= "formelementblock">
            <div class="formelement">
                <input type="text"  readonly="readonly" name="txtstart_date" class="input-text datepickerwidth required" id="txtstart_date" placeholder="Start Date*"/>
            </div>

        </div>
        <div class= "formelementblock last">
            <div class="formelement">
                <input type="text" readonly="readonly"  name="txtend_date" class="input-text datepickerwidth required" id="txtend_date"  placeholder="End Date*"/>
            </div>
        </div>
    </div>

    <div class="clear"></div>
    <div class="form-button">
        <div class="button-block">
            <input onClick="this.form.submit(); this.disabled=true;" class="button" type="submit" name="button" id="button" value="Save" />&nbsp;&nbsp;&nbsp;
            <input class="button" type="button" name="button" id="button" value="Cancel" onclick="window.location = '<?php echo $this->url('weeklyplan', array('action' => 'index')); ?>'" />
        </div>
    </div>
</form>


您正在使用html5表单验证。如果要在提交前检查输入是否有效,必须更改:

<input onClick="this.form.submit(); this.disabled=true;" class="button" type="submit" name="button" id="button" value="Save" />

检查所有输入是否有效后,您可以提交表单。

您正在使用html5表单验证。如果要在提交前检查输入是否有效,您必须更改:

<input onClick="this.form.submit(); this.disabled=true;" class="button" type="submit" name="button" id="button" value="Save" />
$(document).ready(function() {
        $("#button").click(function(){
            $('#button').attr('disabled',true);
            $('#myform').submit();
            var no=$("#myform").validate().toShow.length;
            if(no!=0){
                $('#button').attr('disabled',false);
            }

        });
    });

检查所有输入是否有效后,您可以提交表单。

好奇如何
class=“必需”“
正在进行验证。任何javascript,你想让我们看看吗?是的,我使用了jquery,你可以编写简单的reuire='require'html5验证,问题是我不想在没有验证的情况下提交表单看起来像是javascript问题,脚本正在加载吗确保在firebug中首先加载脚本。您有js的完整代码示例吗?很好奇
class=“required”
是如何进行验证的。任何javascript,你想让我们看看吗?是的,我使用了jquery,你可以编写简单的reuire='require'html5验证,问题是我不想在没有验证的情况下提交表单看起来像是javascript问题,脚本正在加载吗确保在firebug中首先加载脚本。你有js的完整代码示例吗?
$(document).ready(function() {
        $("#button").click(function(){
            $('#button').attr('disabled',true);
            $('#myform').submit();
            var no=$("#myform").validate().toShow.length;
            if(no!=0){
                $('#button').attr('disabled',false);
            }

        });
    });