【问题标题】:Form Submit Button Do not work表单提交按钮不起作用
【发布时间】:2015-10-10 22:01:11
【问题描述】:

我有一个带有提交按钮的表单。不幸的是,我的 javascript 函数不起作用。我的错误在哪里?它可以通过按回车而不是通过单击提交按钮来工作

<div id="form" class="contact-us-form">
    <form id="myform" target="_self" onsubmit="" action="javascript: postContactToGoogle()">
        <div>
            <input spellcheck="false" autocomplete="off" id="email" type="text" name="email" value="deine eMail" onfocus="this.value=''" onblur="this.value='deine eMail'">
        </div>
        <br>
        <div>
            <button onclick="submits()" id="send" type="submit">EINTRAGEN</button>
        </div>
    </form>
    <script type="text/javascript">
    function submits() {
        document.getElementById("myform").submit();

    }
    </script>
</div>

【问题讨论】:

  • 你的函数“postContactToGoogle()”是否在你页面的某个地方实现了??
  • 首先,您不需要 onclick 操作或 submits() 函数,因为它已经是一个提交按钮。接下来,您的 postContactToGoogle() 函数在哪里?
  • 是的,这个功能是在页面中实现的,为什么呢?它可以通过按回车而不是通过单击提交按钮来工作。
  • @felixgerlach 因为它不是那样工作的...... enter 键触发表单的提交(表单事件)而不是单击按钮(按钮事件)。由于按钮是一个输入控件,点击它会自动触发表单事件,不需要多余且无用的“onclick”处理程序

标签: javascript html forms


【解决方案1】:

你在做什么很奇怪。您正在尝试非常“手动”进行提交。提交按钮(即 type="submit" 部分)已经要提交这个表单,所以不需要你的函数 submits()。

然后,在 javascript 中,只需引用表单的提交事件。您可以像您已经做的那样通过 id 获取表单。

【讨论】:

    【解决方案2】:

    在表单中添加“名称”属性

    <form id="myform" name="myform">
        <!-- Form content -->
    </form>
    

    改变你的脚本功能

    <script type="text/javascript">
        function submits() {
            document.myform.submit();
        }
    </script>
    

    【讨论】:

      【解决方案3】:

      我自己发现了错误:

      onblur="this.value='deine eMail'"
      

      不要在提交按钮中使用 onblur。它会杀死提交功能,它不会工作

      【讨论】:

        猜你喜欢
        • 2016-09-18
        • 2020-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-11
        相关资源
        最近更新 更多