ボタンがクリックされたときに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()
ます。これがないと、ボタンまたは入力のいずれかで問題なく送信されます。