防止在get方法php中传递其他具有相同名称的隐藏下拉字段[重复]
Posted
技术标签:
【中文标题】防止在get方法php中传递其他具有相同名称的隐藏下拉字段[重复]【英文标题】:prevent passing other hidden dropdown field with same name in get method php [duplicate] 【发布时间】:2015-05-31 10:09:45 【问题描述】:我正在使用 php,Yii。我有 3 个标签 tab1 tab2 tab3
。
在每个选项卡中,我都有一个名为 type 的下拉字段,其中根据选项卡具有不同的下拉选项。
当我选择第一个选项卡时,其他两个选项卡的 type 字段被隐藏。在其他选项卡中也是如此。
问题是当我按下 搜索按钮 时,所有三个选择的类型值都显示在 GET 方法中,例如 ?search[type]=130&search[type]=111&search[type]=111
,这会导致错误的搜索结果。
我不需要将隐藏字段值传递给 GET 方法操作。我不是要求代码来做到这一点。是否可以不传递隐藏字段值?如果是这样,请指导我。
【问题讨论】:
【参考方案1】:html 表单提交会将所有字段传递给请求的操作。
我能看出你如何做到这一点的唯一方法是结合使用 javascript 和 HTML。
考虑这两个字段。
<input type='text id='field1' name='field1' value="">
<input type='text id='field2' value="">
只有 field1 会被普通表单提交按钮传递。
如果您需要传递field2,您可以使用JavaScript 并设置要发送到服务器的值。使用 JQuery 你会像这样:
$.ajax(
type: 'POST',
url: 'http://place.your.url.here.com',
data:
'field1': $("#field1").val(),
'field2': $("#field2").val(),
,
success: function(data)
alert(msg);
);
因此,剩下的就是创建另一个隐藏字段,以指示您在哪个选项卡上,您在点击时设置了该选项卡。然后,在发送表单时,创建需要发送的 POST 值。
【讨论】:
以上是关于防止在get方法php中传递其他具有相同名称的隐藏下拉字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章