【发布时间】:2012-07-08 00:16:09
【问题描述】:
单击按钮时,我正在使用 jQuery 提交表单。然后我想测试按钮的值,但是,这不会在 Safari 和 Chrome 中提交。为什么?有解决办法吗?
在 IE/FF 中测试下面的代码看它是否可以工作,然后在 Safari/Chrome 中测试它是否可以:
ButtonPostTest.php:
<?php
if(isset($_POST['testBtn'])) {
echo $_POST['testBtn'];
}
?>
<html>
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#btn').click(function() {
$('form').submit(); // submit the form
});
});
</script>
</head>
<body>
<form action="" method="post">
<button id="btn" class="page-btn" type="submit" name="testBtn" value="Yes Button value is posted!">POST IT!</button>
</form>
</body>
</html>
更新:
input 也会发生同样的事情:
<input id="btn" class="page-btn" type="submit" name="testBtn" value="Post this"></input>
此外,这只是使用 jQuery .submit() 提交时的问题 - 没有这个,它可以通过按钮或输入正常提交。
【问题讨论】:
-
感谢这为我指明了正确的方向。让我发疯,甚至没有怀疑我之前添加的 jquery.submit ......我发现了这个行为的解释以及它发生的原因:stackoverflow.com/a/1709352/76672
-
在 Chrome (Linux Mint) 中似乎可以正常工作。它已经使用 Webkit 的一个分支已经有一段时间了,所以它可能已经在 Chrome 中修复了。
标签: php jquery html forms post