現在、Ajax を使用して、ページを更新したりボタンをクリックしたりせずに入力フィールドを送信しています。この関数はテキスト入力フィールドでうまく機能しますが、選択ボックスの値を投稿してからphpが結果をエコーすると機能しません。firebug ツールで確認しましたが、Ajax/js 関数によって何も投稿されていません。
選択ボックスの値を送信して、php でエコーできるようにするにはどうすればよいですか? 例
JS
<script>
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(){
$.ajax({ type: "POST",
url: "index.php",
data: dataString,
success: function(result){
$('#item_input').text( $('#resultval', result).html());
}
});
return false;
}
$('#item_name').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 050);
var name = $("#item_name").val();
dataString = 'name='+ name;
});
});
</script>
PHP
<?php
if ($_POST)
{
$item_name = $_POST['name'];
echo ('<div id="item_input"><span id="resultval">'.$item_name.'</span></div>');
}
?>
HTML
<html>
<form method="post" id="form" name="form">
<select name="item_name" value="<? $item_name ?>" size="4" id="item_name">
<option value="">Item1</option>
<option value="">Item2</option>
<option value="">Item3</option>
<option value="">Item4</option>
</select>
</form>
<div id="item_input"></div>
</html>