Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用CakePHP FormHelper生成的按钮_Javascript_Jquery_Cakephp - Fatal编程技术网

Javascript 禁用CakePHP FormHelper生成的按钮

Javascript 禁用CakePHP FormHelper生成的按钮,javascript,jquery,cakephp,Javascript,Jquery,Cakephp,我正在使用由CakePHP FormHelper生成的提交按钮。我想在单击按钮后使用jQuery禁用它。我尝试使用“正常禁用”属性,但没有任何效果 如何禁用按钮以防止意外的表单重新提交?禁用表单可能是一个更好的解决方案,除了单击“提交”按钮(例如在文本输入中按enter键)之外,还可以防止提交。您可以在第一次提交后在表单上设置“禁用数据”属性,如果设置了该属性,则可以在后续提交时阻止该属性 $('form').on('submit', function(e) { var $form =

我正在使用由CakePHP FormHelper生成的提交按钮。我想在单击按钮后使用jQuery禁用它。我尝试使用“正常禁用”属性,但没有任何效果


如何禁用按钮以防止意外的表单重新提交?

禁用表单可能是一个更好的解决方案,除了单击“提交”按钮(例如在文本输入中按enter键)之外,还可以防止提交。您可以在第一次提交后在表单上设置“禁用数据”属性,如果设置了该属性,则可以在后续提交时阻止该属性

$('form').on('submit', function(e) {
    var $form = $(this);

    if($form.attr('data-disabled') === true) {
        e.preventDefault();
        return false;
    }
    $form.attr('data-disabled', true);
});

禁用表单可能是一个更好的解决方案,除了单击submit按钮(如在文本输入中按enter键)之外,还可以防止提交。您可以在第一次提交后在表单上设置“禁用数据”属性,如果设置了该属性,则可以在后续提交时阻止该属性

$('form').on('submit', function(e) {
    var $form = $(this);

    if($form.attr('data-disabled') === true) {
        e.preventDefault();
        return false;
    }
    $form.attr('data-disabled', true);
});

您只需将submit按钮添加到表单中,并在单击后禁用submit按钮

<?php 
        echo $this->Form->input('submitButton', array(
        'id' => 'submit',
        'type' => 'submit',
        'label' => '',
        'onclick' => '$(#"submit").disabled = true;'
        ));
?>

您只需将submit按钮添加到表单中,并在单击后禁用submit按钮

<?php 
        echo $this->Form->input('submitButton', array(
        'id' => 'submit',
        'type' => 'submit',
        'label' => '',
        'onclick' => '$(#"submit").disabled = true;'
        ));
?>

$'form'。在'submit'上,函数{$'input:submit',this.prop'disabled',true;返回$'input:submit',this.prop'disabled'==true?false:true;}@哦,为什么不需要三元呢。回来吧!$'input:submit',this.prop'disabled'$'form'。在'submit'上,函数{$'input:submit',this.prop'disabled',true;返回$'input:submit',this.prop'disabled'==true?false:true;}@哦,为什么不需要三元呢。回来吧!$'输入:submit',this.prop'disabled',这并不重要,但为什么不使用.data呢?没有任何理由,除了它是jQuery专有的,而且实现与jQuery的耦合比实际情况还要多。这没有意义。您已经在使用jQuery,那么如果它是jQuery专有的,又有什么区别呢?无论是否使用.attr,属性/值都会自动导入到数据中。所以它并没有太大的变化。我的观点是,为什么不利用这一点呢?这显然不重要,我只是想知道,当使用默认的CakePHP主题和FormHelper文本框时,这没有任何作用。这并不重要,但为什么不使用.data呢?没有任何理由,只是它是jQuery专有的,而且实现与jQuery的耦合比实际情况还要多。这没有意义。您已经在使用jQuery,那么如果它是jQuery专有的,又有什么区别呢?无论是否使用.attr,属性/值都会自动导入到数据中。所以它并没有太大的变化。我的观点是,为什么不利用这一点呢?这显然不重要,我只是想知道,当使用默认的CakePHP主题和FormHelper文本框时,这没有任何作用。