javascript - 如何修改表单操作添加选定的单选按钮值

标签 javascript jquery forms action

我有一个 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/

相关文章:

jquery - 尝试使用 live()、delegate 和 bind() 提交表单

javascript - 无法在我的 JSP 中检索 JSON 响应

javascript - 加载特定包含的php文件中的js文件

javascript - 在选中单选按钮之前禁用输入字段 (HTML)

javascript - IE 对象不支持此属性或方法

javascript 无法调用未定义的方法 'replace'

javascript - 如何在页面加载时检查 radio

javascript - 如何在不提交表单的情况下按回车键单击按钮

wpf - 如何阻止 Powershell WPF 表单关闭

javascript - 在函数内调用函数表达式... JavaScript