【问题标题】:Jquery simulate click for submit a form don't send value of buttonJquery模拟点击提交表单不发送按钮值
【发布时间】:2018-09-27 13:56:40
【问题描述】:

我有一个带有两个按钮的表单,一个用于确定操作,一个用于丢弃操作,同时带有 ID 和值。 我想通过单击按钮上的 jquery 单击事件提交表单,我需要向我的 CMS 发送一个带有单击按钮的名称和值的 POST。 我该怎么做?

【问题讨论】:

  • $('#yourForm').submit();
  • 欢迎来到 Stack Overflow!请使用tour 并通读help center,尤其是How do I ask a good question? 做你的研究,search 以获取有关 SO 的相关主题,然后试一试。 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。祝你好运!
  • "...都带有 ID 和值..." "...我需要发送一个 POST...带有名称和值。 .." 注意:id != name.
  • 是的,但是这个不能也有点击按钮的名称和值

标签: jquery button click submit


【解决方案1】:

这是我的代码,我有一个提示消息的模态函数,如果我点击丢弃我运行 jquery click,提交的表单没有cencelButton 值。

$('input[type=submit]#CancelButton').click();
<form action="/layout/set/ajax/content/removeobject" method="post" name="ObjectRemove" id="ObjectRemove">

<div class="warning"><h2>Sei sicuro di voler rimuovere questi elementi?</h2><ul>            <li>Lista delle cose da fare 1 </li>
    </ul>
</div>
  <input type="hidden" name="SupportsMoveToTrash" value="1">
  <p><input type="checkbox" name="MoveToTrash" value="1" checked="checked">Sposta nel cestino</p>

  <p><b>Nota:</b> Se <i>Sposta nel cestino</i> è selezionato troverai gli elementi eliminati nel cestino in seguito.</p>
  <br>

<div class="buttonblock">
    <input class="button" type="submit" name="ConfirmButton" id="ConfirmButton" value="Conferma">    
<input class="button" type="submit" id="CancelButton" name="CancelButton" value="Annulla"></div>

</form>

【讨论】:

    【解决方案2】:

    如果按钮有名称并且类型为提交(默认类型),则(仅)被点击按钮的值无论如何都会被发送。现在如果你想附加一个点击事件处理程序,你仍然可以。并且使用evt.preventDefault()也可以取消提交。

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    
        <form action="index.html" method="POST">
            <button name="action" value="ok">OK</button>
            <button name="action" value="discard">discard</button>
        </form>
        <script>
                document.querySelector("button").addEventListener("click",function(evt){
                    //return evt.preventDefault();
                });
    
        </script>        
    </body>
    
    </html>
    

    首先在独立页面(例如 index.html)上尝试使用 GET 进行测试,以查看在 url 上发送的内容。

    【讨论】:

      猜你喜欢
      • 2017-04-26
      • 2016-01-11
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      相关资源
      最近更新 更多