我编写了以下代码,我正在寻找一些关于将表单提交到同一PHP文件的帮助,但是通过JavaScript。
<?php
if(isset($_POST['go'])) {
header('location: index.php');
}
?>
<html>
<head>
<script>
function gogo() {
document.form1.submit();
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<form method="POST" name="form1" id="form1" action="example.php" />
<input type="button" value="go" name="go" id="go" onclick="gogo();"/>
</form>
</body>
</html>
这不起作用。你能告诉我这里哪里出错吗?
答案 0 :(得分:0)
尝试
document.getElementById("form1").submit();
答案 1 :(得分:0)
问题在于,因为您使用javascript来提交表单,所以&#34; go&#34; -input不会被激活。显而易见(而且非常干净)的解决方案是剥离所有javascript:
<?php
if(isset($_POST['go'])) {
header('location: index.php');
}
?>
<html>
<head>
</head>
<body>
<form method="POST" action="example.php" />
<input type="submit" value="go" name="go" />
</form>
</body>
</html>
但是,如果您想在javascript中使用表单验证,则应该执行以下操作:
<script>
function validateForm() {
if(true/*check here*/) {
return true;
} else {
return false;
}
</script>
<form onsubmit="return validateForm();">
...
</form>
如果您(无论出于何种原因)确实想要使用帖子中要求的javascript提交,您只需要添加一个名为go的隐藏输入:
<form ...>
<input type="hidden" name="go" value="" />
...
</form>
答案 2 :(得分:0)
试试这个
<html>
<head>
<script>
function gogo() {
document.form1.submit();
}
</script>
</head>
<body>
<form method="POST" name="form1" id="form1" action="" />
<input type="submit" value="go" name="go" id="go" />
</form>
</body>
</html>
答案 3 :(得分:-1)
使用JQuery代替
<script>
$(document).ready(function () {
$("#Go").click(function () {
var data = $("#form1").serialize();
$.ajax({
type:"POST",
data:data,
url:"example.php", //page where you want to submit the form
success:function (data) {
// response from the server in browsers console
console.log(data)
}
});
});
});
</script>
请务必更改<input type="submit" value="go" name="go" />
到<button id="Go" name="Go">Go</button>