在表单提交后将 get 变量附加到 url,而无需新的隐藏输入

Append get variables to url after form submit without new hidden input

本文关键字:输入 隐藏 url 表单提交 get 变量      更新时间:2023-09-26

我隐藏了输入值

<input type="hidden" id="as-values-flexmls_connect480723641" class="as-values" value="&amp;MLSAreaMinor=13%20-%20Beachside%26%2344%3B%20N%20of%20Dunlawton%20%26%20S%20Silver,&amp;City=Astor,">

单击表单提交后如何在URL上附加值

所以我当前的 URL http://mysite/advanced-search/然后在单击提交后<form method="get">获取我的所有变量,然后附加该变量

http://mysite/search/?multiple_get=sdasd&amp;MLSAreaMinor=13%20-%20Beachside%26%2344%3B%20N%20of%20Dunlawton%20%26%20S%20Silver,&amp;City=Astor,

怎么办? 我不需要创建新的输入隐藏,因为这只是创建此输入的插件......

我已经有了这个脚本,可以从 get 中删除空变量,并仅在 url 上显示非空变量。

function removeEmptyGetVariables()
{
    var myForm = document.getElementById('form-id');
    var allInputs = myForm.getElementsByTagName('input');
    var input, i;
    for(i = 0; input = allInputs[i]; i++) {
        if(input.getAttribute('name') && !input.value) {
            input.setAttribute('name', '');
        }
    }
}

您可以将变量附加到端点,然后提交表单,如下所示:

例:

http://js.do/alvaropaco/append-get-variables-to-url-after-form-submit-without-new-hidden-input

您可以使用 document.ready 函数自动更新操作值,

$(document).ready(function() {
 // Add a hidden value to the form action
var action = $("#my_form").attr("action"),
append = $("input[name=my_input_name]").attr("value");
$("#my_form").attr("action", action + append);
});

在隐藏的输入字段中添加一个名称,

<form action="" name="my_form">
<input name="my_input_name" type="hidden" id="as-values- flexmls_connect480723641" class="as-values" value="&amp;MLSAreaMinor=13%20-%20Beachside%26%2344%3B%20N%20of%20Dunlawton%20%26%20S%20Silver,&amp;City=Astor,">
</form>