提交带有后续替换值的表单

时间:2016-01-31 09:56:39

标签: javascript jquery forms submit

问题在于,当您首次点击将value更改为adddelete时,但在重新点击add value时未发送表单表格提交给add

怎么办?点击>发送>替换

形式

<form id="favorite" method="GET" action="" enctype="multipart/form-data" target="iframe">
    <input type="submit" id="fav" name="favorite" value="add"/>
</form>

JS

$(function(){$('#fav').click(
    function() {
        $(this).val() == "add" ? delete_item() : add_item();
    });
});
function delete_item() {
    $('#fav').val("delete");
}
function add_item() {
    $('#fav').val("add");
}

1 个答案:

答案 0 :(得分:1)

我创建了一个jsfiddle来向您展示我将如何做到这一点......

HTML

<div id="MyForm">
  <form id="favorite" method="GET" action="" 
        enctype="multipart/form-data" target="iframe">
    <input type="submit" id="fav" name="favorite" value="add" />
  </form>
</div>

的js

    $(function() {
      $("#MyForm").on('click', '#fav', function() {
        $(this).val() == "add" ? delete_item() : add_item();
        console.dir($(this));
        return false;
      });
    });

    function delete_item() {
      $('#fav').val("delete");
    }

    function add_item() {
      $('#fav').val("add");
    }
  1. 我添加了return false;,因此我的示例中没有提交表单,您应该删除它以使用代码。
  2. 我放了一个容器div来正确使用$.on()
  3. 我添加了console.dir以便您可以对其进行调试,您可以删除它以使用代码。