阻止在get方法php中传递具有相同名称的其他隐藏下拉字段

时间:2015-03-27 06:31:31

标签: php yii get hidden-field

我正在使用PHP,Yii。我有3个标签tab1 tab2 tab3

在每个标签中,我都有一个名称为类型的下拉字段,根据标签显示不同的下拉选项。

当我选择第一个标签时,隐藏了其他标签的其他两个标签类型字段。同样在其他标签中。

问题是当我按搜索按钮时,所有三个选定的类型值都显示在GET方法中,如?search[type]=130&search[type]=111&search[type]=111,这会导致搜索结果错误。

我不想将隐藏字段值传递给GET方法操作。我不是要求代码来做那件事。是否可以不传递隐藏的字段值?如果是这样,请指导我。

2 个答案:

答案 0 :(得分:0)

您需要将隐藏的下拉菜单设置为禁用。

未提交带有已禁用元素的属性,或者您可以说它们的值未发布。

 disabled="disabled"  

FYI

  • 已禁用的控件无法获得焦点。
  • 跳过已禁用的控件 在标签导航中。
  • 禁用的控件无法成功 帐。

希望这有帮助。

答案 1 :(得分:0)

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值。