使用jquery在按钮上单击切换文本和表单操作

时间:2016-06-19 18:55:15

标签: jquery html forms

它部分正常工作,按钮最初表示添加'它会转到“add.php'文件,但点击时该按钮不会更改文本,并且它不会提交给“update.php”。 file - 是'isAdd ? 'update.php' : 'add.php'某种if语句吗?如果是这样,我不认为它正确地读取了isAdd变量...我已经包含了我更改的代码以及按钮由下面控制的.js代码。再次,任何(我的意思是任何)对此的帮助表示赞赏!

<form  method='post' class='myform'>
          <button id='insert'>Add</button>
    </form>

    <script>
        $('#insert').click(function () {
            var isAdd = this.value == 'Add';
                $(this).text(isAdd ? 'Cancel' : 'Add');
                $(this).closest('.myform').prop('action', isAdd ? 'update.php' : 'add.php');
                });
        </script>
    <script src='bookroom.js'></script>
    <p id='result'></p>

bookroom.js代码:

$('.myform').submit(function(){
    return false;
});

$('#insert').click(function(){
    $.post(     
        $('.myform').prop('action'),
        $('.myform :input').serializeArray(),
        function(result){
            $('#result').html(result);
        }
    );
});

1 个答案:

答案 0 :(得分:0)

使用 .attr() prop()设置表单操作,使用 closest() 获取表单。另请注意使用$(this)代替$('#insert')

$('#insert').click(function () {
    var isAdd = $(this).text() == 'Add';
    $(this).text(isAdd ? 'Cancel' : 'Add');
    $(this).closest('form').attr('action', isAdd ? 'update.php' : 'add.php');
});