我正在尝试通过点击链接提交表单,而不使用提交按钮。表单的每个元素都有其值,单击时必须提交。它不起作用。我可以使用JavaScript或jQuery。请看一下代码:
<head>
<style>
div {
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
</head>
<body>
<form name="myform" action="test.php" method="post">
<div>
<a href="javascript: submitform()" value='h1'>h1</a><br>
<a href="javascript: submitform()" value='h2'>h2</a><br>
<a href="javascript: submitform()" value='h3'>h3</a><br>
</div>
</form>
<script type="text/javascript">
function submitform()
{
document.myform.submit();
}
</script>
<div>
<?php
$form=$_POST['myform'];
echo $form.' bla<br>';
?>
</div>
</body>
</html>
与他们的baruch建议 - 工作!!!
<head>
<script src="jquery.js" type="text/javascript"></script>
<style>
div {
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
</head>
<body>
<form name="myform" action="test.php" method="post">
<input type='hidden' id='hx' name='hx' value=''>
<div>
<a href="javascript: submitform('h1')">h1</a><br>
<a href="javascript: submitform('h2')">h2</a><br>
<a href="javascript: submitform('h3')">h3</a><br>
</div>
</form>
<script type="text/javascript">
function submitform(val)
{
$("#hx").val(val);
document.myform.submit();
}
</script>
<div>
<?php
echo $_POST['hx'];
?>
</div>
</body>
</html>
答案 0 :(得分:3)
在<form...>
:
<input type='hidden' id='hx' name='hx' value=''>
然后,将您的呼叫功能更改为:
<a href="javascript: submitform('h1')">h1</a><br>
你的职能:
<script type="text/javascript">
function submitform(val)
{
$("#hx").val(val);
document.myform.submit();
}
</script>
在你的php中:
echo $_POST['hx'];
如何运作?
1.您点击链接
2. js功能改变HIDDEN INPUT字段的值
3. js功能提交表格
4. $ _ POST与隐藏的输入值相关
答案 1 :(得分:2)
首先,我不会使用href="javascript:submitForm();"
,而是使用href="#" onclick="submitForm(this)"
向表单添加隐藏字段
<input type="hidden" value="" id="hiddenId" />
在您的submitForm方法中,将myform更改为forms [0]。我相信这将更加跨浏览器友好。 Anywho ...在方法中添加一个参数,以便设置隐藏的字段值。
<script type="text/javascript">
function submitform(el)
{
document.getElementById('hiddenId').value = el.value;
document.forms[0].submit(el);
}
</script>
答案 2 :(得分:0)
<a href="javascript: submitform('h1')">h1</a>
function submitform(val)
{
$.post('.', { myform: val });
}
答案 3 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(function() {
$("form a").click(function() {
var value = $(this).data('value');
$.post('.', { myform: value });
return false;
});
});
</script>
</head>
<body>
<form>
<a href="" data-value="h1">h1</a>
<a href="" data-value="h2">h2</a>
<a href="" data-value="h3">h3</a>
</form>
</body>
</html>