仅在通过提交按钮在表单中提交数据时启用对话框

时间:2013-02-22 03:09:40

标签: javascript jquery cakephp

我正在尝试使用下一个按钮保存数据。当我点击下一个按钮进入表单后,会弹出一个弹出对话框询问“你是否要提交你的数据?”

所以我做了什么

在提交按钮中,我有以下代码:

 <?php echo $this->Form->submit('Next', array('class' => 'btn btn-primary','id'=>'movesubmitbtn'));?>

它的Cakephhp提交按钮

这是我的javascript代码:

         <script type="text/javascript" charset="utf-8">
         $(document).ready(function() {
         // Interrupt the submit function
    $('#movesubmitbtn').click(function(){
        if(confirm('This is your final submission of the data. Do you want to continue?')) { 
            return true;
        }
        else { 
            return false;
        }
    });
           movesubmitbtn
          });

        </script>

请帮帮我,如何添加禁用属性,以便在数据存在时弹出窗口。

2 个答案:

答案 0 :(得分:0)

试试这个:

    <button id="submitBtn" type="submit" disabled="disabled">Submit</button>
    <textarea id="textBox" rows="10" onblur="if(this.value == ''){document.getElementById('submitBtn').disabled = true;} else {document.getElementById('submitBtn').disabled = false;}"></textarea>

或更简单:

<button id="submitBtn" type="submit" disabled="disabled">Submit</button>
    <textarea id="textBox" rows="10" onblur="document.getElementById('submitBtn').disabled = (this.value == '');"></textarea>

答案 1 :(得分:0)

使用jQuery;

$('form').on('change', function(){
    // this will be triggered with every 'change' inside the form
    // e.g. Every time the user modifies a input
    // check if all (required) inputs contain a value
    if('' == $('#inputA').val() || '' == $('#inputB').val()){
        $('#movesubmitbtn').disabled = true;
    } else {
        $('#movesubmitbtn').disabled = false;
    }
});

另外,请考虑将您正在使用的代码放在表单的“提交”事件上,而不是放在按钮的“单击”上。如果用户在文本字段中按下“回车”键,这将阻止提交表单。