68

我只是在学习 javascript 和 php。我创建了一个联系表单,我希望提交按钮在按下它时完成两件事:

  1. 将数据提交给我(这部分工作)
  2. 阅读我的 onclick 功能(这部分不起作用)
<input id="submit" name="submit" type="submit" value="Submit" onclick="eatFood()">

<?php
if ($_POST['submit']) {
 ////????? 
}
?>

我将数据发送到我的电子邮件,所以我明白了。但该onclick功能似乎不起作用。我尝试查看为提交按钮添加 onclick 功能,但没有帮助。

4

6 回答 6

82

我需要查看您的提交按钮 html 标记以获得更好的帮助。我不熟悉 php 以及它如何处理回发,但我想这取决于你想要做什么,你有三个选择:

  1. 在客户端获取处理onclick按钮:在这种情况下,您只需要调用一个 javascript 函数。

function foo() {
   alert("Submit button clicked!");
   return true;
}
<input type="submit" value="submit" onclick="return foo();" />

  1. 如果要在服务器端处理点击,首先应确保将表单标签方法属性设置为post

    <form method="post">
    
  2. 您可以使用onsubmit来自form自身的事件将您的函数绑定到它。

<form name="frm1" method="post" onsubmit="return greeting()">
    <input type="text" name="fname">
    <input type="submit" value="Submit">
</form>

于 2012-10-17T23:27:53.293 回答
28

html:

<form method="post" name="form1" id="form1">    
    <input id="submit" name="submit" type="submit" value="Submit" onclick="eatFood();" />
</form>

Javascript:使用 javascript 提交表单

function eatFood() {
document.getElementById('form1').submit();
}

显示 onclick 消息

function eatFood() {
alert('Form has been submitted');
}
于 2013-10-23T13:00:43.643 回答
13

如果你需要在提交数据之前做一些事情,你可以使用表单的onsubmit

<form method=post onsubmit="return doSomething()">
  <input type=text name=text1>
  <input type=submit>
</form>
于 2012-10-17T22:51:06.600 回答
3

我有这个代码:

<html>
<head>
<SCRIPT type=text/javascript>
function deshabilitarBoton() {     
    document.getElementById("boton").style.display = 'none';
    document.getElementById("envio").innerHTML ="<br><img src='img/loading.gif' width='16' height='16' border='0'>Generando...";     
    return true;
} 
</SCRIPT>
<title>untitled</title>
</head>
<body>
<form name="form" action="ok.do" method="post" >
<table>
<tr>
<td>Fecha inicio:</td>
<td><input type="TEXT" name="fecha_inicio" id="fecha_inicio"  /></td>
</tr>
</table>
<div id="boton">
   <input type="submit" name="event" value="Enviar" class="button" onclick="return deshabilitarBoton()" />
</div>
<div id="envio">
</div>
</form>
</body>
</html>

于 2015-03-31T21:45:55.853 回答
2
  1. 创建一个隐藏按钮id="hiddenBtn"type="submit"执行提交
  2. 将当前按钮更改为type="button"
  3. onclick当前按钮调用的集合function如下所示:
function foo() {
    // do something before submit
    ...
    // trigger click event of the hidden button
    $('#hinddenBtn').trigger("click");
}
于 2017-07-13T08:47:11.080 回答
0
<button type="submit" name="uname" value="uname" onclick="browserlink(ex.google.com,home.html etc)or myfunction();"> submit</button>

如果您想在没有任何脚本语言的情况下单击 HTML 中的按钮打开页面,那么您可以使用上面的代码。

于 2015-07-31T21:51:14.520 回答