如何通过单个 select 更改多个表单元素

How to change multiple form elements via single select

如果选择了第二个 select 选项,我完全不知道如何将开始标记更改为 'method=post'。我正在为表单操作使用 Onchange,但也不知道如何更改 post 方法。 我最近的尝试是使用 IF 语句,如下面的代码所示,但同样,只有 1 个选项有效。

if(this.value){
    $content .='<form action="/gsresults">';
    }
else{
    $content .='<form action="/imagesearch?go" method="post">';
}
$content .='<input type="text" name="q"/>

 <input type="hidden" name="cx" value="partner-pub-xxxxxxxxxxx" />
        <input type="hidden" name="cof" value="FORID:11" />
        <input type="hidden" name="ie" value="UTF-8" />


          <select onchange="this.form.action=this.value">
        <option value="/gsresults" selected="selected">Google</option>
        <option value="/imagesearch?go">Images</option>
    </select>

        <input type="submit" name="sa"/> 
</form>';

感谢任何help/pointers。

克里斯

您可以使用 jQuery 来侦听事件并编辑表单的属性:

$("select").change(function() {
  $("form").attr("method","post");
});

我建议在您的 <form><select> 中添加一个 id,这样您的听众就不会感到困惑。