CakePHP Javascript确认对话框表单提交取消不起作用

Adi*_*att 4 javascript confirm cakephp submit

使用我的CakePHP注册表单,一旦点击提交按钮,我只想显示Javascript确认对话框,它应该像:

  • 如果按下确定,则应提交表格
  • 如果按下取消,则不应该进行提交操作

但是在这里,当我按下取消时,虽然它被提交了.不知道为什么?

CakePHP表格代码:

<?php echo $form->create('Noncompetitor', array('type' => 'file', 'url' => '/register', 'onSubmit' => 'confirmfrmSubmit();'));?> 
Run Code Online (Sandbox Code Playgroud)

我的JS代码:

function confirmfrmSubmit(){

    var agree=confirm("Are you sure you wish to continue?");

    if (agree)
        return true ;
    else
        return false ;
}
Run Code Online (Sandbox Code Playgroud)

如果你的同事对此有所了解,请告诉我.

谢谢 !

小智 10

也可以使用更简单的方法,试试这个:

$this->Form->create('Request',array('onsubmit'=>'return confirm("are you sure?");'))
Run Code Online (Sandbox Code Playgroud)


Dan*_*ght 5

更新:归功于自行车修复我破损的回调.请参阅下文了解详情.(而StackO的一个重要原因是不允许答案作者对接受编辑有最终决定权.)


这是使用jQuery的解决方案:

<?php
    $this->Html->scriptBlock("
        jQuery(function($){
            $('form.noncompetitor').submit(function(event){
                if (!confirm('Are you sure?')) { return false; }
            });
        });
    ",array('inline'=>false)); // inline => false will put this snippet in the DOM's head.

    echo $this->Form->create('Noncompetitor',array(
        'type'=>'file','url'=>'/register',
        'default'=>false,'class'=>'noncompetitor'
    ));

    /* The rest of your form */
Run Code Online (Sandbox Code Playgroud)

  • 哦,在这里,我想我会决定建议编辑的命运......我猜我自己会编辑.我曾经希望你得到信用. (2认同)