我有一个 HTML 表单,其中包含一些单选按钮,如下所示:
<form action = "/somecomplicatedurl" method="post">
<ul id="category_list">
<li>
<label for="Foo">
<input type="radio" name="category" id="foo" value="foo" onclick="this.form.submit()" />
Foo</label>
</li>
<li>
<label for="Bar">
<input type="radio" name="category" id="bar" value="bar" onclick="this.form.submit()"/>
Bar</label>
</li>
<li>
<label for="Spam">
<input type="radio" name="category" id="spam" value="spam" onclick="this.form.submit()"/>
Spam</label>
</li>
</ul>
</form>
在 onclick
事件中,我想将查询字符串添加到添加所选类别的操作 /somecomplicatedurl
中。
例如,点击类别垃圾邮件
应该会通过如下操作触发 HTTP 帖子:
/somecomplicatedurl?category=spam
Javascript 或 jQuery 均有效。
编辑:
类别值已正确传递到服务器;
我只需要单击单选按钮后,浏览器地址栏中显示的 url 包含所选类别。 *
* 我想避免添加另一个重定向,因为我目前正在该/somecomplicatedurl 路由上处理不同的情况
最佳答案
POST/GET 变量的混合被认为是一种糟糕的形式。为什么不动态设置隐藏表单字段:
<input type="hidden" id="category" name="category" value="spam" />
相反?
你的 onclick 会变成:
onClick="document.getElementById('category').value = this.value; this.form.submit();"
<小时/>
如果只是显示问题,那么
onclick="this.form.action='/somecomplicatedurl?category=' + this.value; this.form.submit();"
关于javascript - 如何修改表单操作添加选定的单选按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603500/