我的网址类似于:foo?country=usa&state=ny
和foo
我有一个表单,其中包含firstname
&amp;的值<{1}}以及更多提交按钮。
但是当我点击lastname
时,它会submit
而另一个问题,即国家和国家的消失,换句话说,我正在失去它们。
有人可以告诉我,即使我提交表格,我怎么能保留它们?
请注意:我不能使用任何隐藏字段,因为foo刀片中有很多表单以及可以有很多查询可以来foo blade而不仅仅是国家和州,可能有年龄,邮政编码等。
我在foo.blade.php中的表单就像这样
foo?firstname=john&lastname=doe
答案 0 :(得分:1)
步骤1 - 你可以使用jQuery将onSubmit事件挂钩到你的表单,在那里你可以序列化()表单字段以生成一个格式为www-form-urlencoded的字符串,其中包含你的名字&amp;姓氏字段。
第2步 - 由于您拥有自己的国家/地区,因此您可以轻松地从window.location.href
中删除该状态信息。
然后手动组合新的查询字符串以附加您的请求网址。
示例:
说你的表格有id =&#34; myform&#34;
$("#myform").on("submit",function(){
event.preventDefault(); //prevent submission
let formData = $(this).serialize(); //outputs firstname=blah&lastname=moreblah
let fullUrl = window.href.location;
let queryPart = fullUrl.split("?")[1]; //here you have country=usa&state=ny
let finalForm = queryPart + "&" formData; //country=usa&state=ny&firstname=blah
// submit here using 'finalForm' after your request endpoint
});
为了清楚起见,我省略了空/空检查。