【问题标题】:Send value with submit link in a form在表单中使用提交链接发送值
【发布时间】:2011-12-09 21:37:01
【问题描述】:

我想在提交表单中发送一个带有链接的值。 form 方法是 post ,我喜欢保持这种方式,否则我的问题会很容易使用类似“?myvale=1”的东西。

所以这段代码说明了我不想要的:

<a href="#" name="submit value="1" onclick="document.editDelete.submit()" class="button icon edit">Test</a>

我怎样才能用 javascript 或类似的东西完成我想要的?

【问题讨论】:

  • 您的标记的name 属性似乎不正确。它似乎缺少结束双引号。

标签: javascript forms hyperlink submit


【解决方案1】:

为什么不在提交处理程序中设置隐藏的表单值?

<form ...>
  <input type="hidden" name="theParam"/>
  ...

<a href="#" ... onclick="handler()">Test</a>

function handler() {
  document.editDelete.theParam.value = "the value";
  document.editDelete.submit();
}

(调整名称/等以匹配您的 HTML。)

【讨论】:

  • 谢谢大家的回答。无法正常工作,输出 $_POST 时没有打印任何内容 我的代码如下所示:.... &lt;head&gt; ........ &lt;script type="text/javascript"&gt; function handler() { document.editDelete.theParam.value = "the value"; document.editDelete.edit(); } &lt;/script &lt;/head&gt; ...... &lt;form .. name="editDelete" ...&gt; &lt;input type="hidden" name="theParam"/&gt; ... &lt;a href="#" name="edit" onclick="document.editDelete.submit(); handler();" class="button icon edit"&gt;Test&lt;/a&gt; &lt;/form&gt; .....
  • @Fredrik 在这里你至少做错了两件事:在调用处理程序之前提交,然后调用document.editDelete.edit(),这根本不会做任何事情。 handler 提交,我不知道edit() 是什么。
  • 啊,当然!感谢您的帮助,现在我一切正常!谢谢!
【解决方案2】:

在提交之前,添加一个隐藏的表单字段并在 onclick 处理程序中设置其值。

【讨论】:

    【解决方案3】:

    为什么不使用隐藏输入,onsubmit 将输入值设置为您想要发送的任何值。

    【讨论】:

      【解决方案4】:

      是的,隐藏表单值可以做到这一点。

      <input type="hidden" name="your_input" value="1"/>
      

      然后只需提交您想要的表单。

      【讨论】:

        【解决方案5】:

        在表单标签处,操作属性属性="/page?myvale=1" 并保留get方法。您将收到一个get查询字符串+发布的数据

        【讨论】:

          猜你喜欢
          • 2019-07-06
          • 1970-01-01
          • 2014-01-21
          • 1970-01-01
          • 2011-05-16
          • 1970-01-01
          • 2016-04-25
          • 2015-02-20
          • 2020-02-23
          相关资源
          最近更新 更多