我之前经常在不同的网站上这样做,但现在无法让它工作。
我有一个简单的表单,使用提交按钮完美地发布,但由于特定原因,我实际上需要通过URL链接提交。我正在使用submit()
。表单提交,但数据未发布
我错过了什么?
<html>
<body>
<?
if(isset($_POST['bar'])) { echo 'testing button<br>'; }
if(isset($_POST['information'])) {
echo $_POST['information'];
echo '</br>Info successfully posted.';
}
?>
<form action="test.php" method="post" id="fooform">
Hello World.<br>
Select checkbox: <input type="checkbox" id="information" name="information" value="yes">
<input type="submit" name="bar" value="Send"><br>
<a href="test.php" onclick="SubmitForm('fooform');">Confirm and Post</a><br>
<a href="test.php" onclick="this.form.submit();">Post Directly </a>
</form>
<script type="text/javascript">
function SubmitForm(formId) {
var oForm = document.getElementById(formId);
alert("Submitting");
if (oForm) { oForm.submit(); }
else { alert("DEBUG - could not find element " + formId); }
}
</script>
</body>
</html>
答案 0 :(得分:3)
表单开始提交,然后跟踪链接的href
,这将取消表单提交。
如果您使用的是旧式onclick
属性,那么最后会return false;
来阻止默认操作。
但是,您最好使用提交按钮( 提交表单)。您可以使用CSS来更改其外观。
答案 1 :(得分:0)
试用此代码:
<html>
<body>
<?php
if (isset($_POST['bar'])) {
echo 'testing button<br>';
}
if (isset($_POST['information'])) {
echo $_POST['information'];
echo '</br>Info successfully posted.';
}
?>
<form action="test.php" method="post" id="fooform">
Hello World.<br>
Select checkbox: <input type="checkbox" id="information" name="information" value="yes">
<input type="submit" name="bar" value="Send"><br>
<a href="#" onclick="SubmitForm('fooform');">Confirm and Post</a><br>
<a href="#" onclick="document.getElementById('fooform').submit();">Post Directly </a>
</form>
<script type="text/javascript">
function SubmitForm(formId) {
var oForm = document.getElementById(formId);
alert("Submitting");
if (oForm) {
oForm.submit();
}
else {
alert("DEBUG - could not find element " + formId);
}
}
</script>
</body>
</html>
答案 2 :(得分:-1)
尝试在jquery中提交带有表单ID的表单
<a class="submit">Post Directly </a>
$('a.submit').click(function(){
$('#fooform').submit();
})