下拉列表附加表单提交两次



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

我有一个带有提交的搜索栏和一个附加到该提交的下拉选项。提交内容将附加两次。我尝试使用"一个"而不是"on",它只返回第一个提交。问题是我需要它只返回第二次提交,或者最好的情况是阻止第一次提交发生。目前我的网址看起来像这样:"/...?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 +'"/>');
});

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

查看此链接了解更多详情 如何防止按钮提交表单

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

var variableToSend = '';
$('#selector').on('click',function() {
variableToSend = $(this).val();
$('form').find("#yourData").remove();
$('form').append('<input type="hidden" id="yourData" name="Item" value="'+ variableToSend +'"/>');
});

最新更新