Dropdown追加表单提交两次

问题描述 投票:0回答:2

EDIT:用一个计数变量和if / else求解。不是最优雅的,但它可以工作。知道为什么会发生/应该如何解决会很有趣,所以我会在这里保留。

我有一个带有提交的搜索栏和一个附加到该提交的下拉选项。提交被追加两次。我尝试使用“一个”代替“打开”,它仅返回第一个提交。问题是我需要它仅返回第二个提交或最好的情况,以防止第一次提交发生。目前,我的网址看起来像这样:“ / ...?search = test&Item = 1&Item = 3”,我只希望“&item = 3”,因为第一个变量不会更新。

   var variableToSend = '';

    $('#selector').on('click',function() {
      variableToSend = $(this).val();
      $('form').append('<input type="hidden" id="yourData" name="Item" value="'+ variableToSend +'"/>');
    });
javascript html
2个回答
0
投票

您可以删除提交的按钮类型,也可以为特定的按钮功能或e.prevent.default返回false。

检查此链接以获取更多详细信息How to prevent buttons from submitting forms


0
投票

您可以删除附加的隐藏输入,然后再次在表单中附加输入值。像这样:

var variableToSend = '';
$('#selector').on('click',function() {
    variableToSend = $(this).val();
    $('form').find("#yourData").remove();
    $('form').append('<input type="hidden" id="yourData" name="Item" value="'+ variableToSend +'"/>');
});
© www.soinside.com 2019 - 2024. All rights reserved.