我正在尝试在表单中使用ajax,以便它使用php脚本检查数据库然后我想更改我的表单中的一些disabeled字段的值,但它似乎工作,虽然ajax工作和jquery也是。
继承剧本
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<meta charset="utf-8" />
<title>F2 Form</title>
<script type="text/javascript">
function checkDB(){
var itr = document.getElementById( "itr" ).value;
$.ajax({
type : 'POST',
url : 'checkDB.php',
data : {itr: itr},
success: function(response){
$("v_id").attr("value","hi");
}
});
}
</script>
继承人html表单摘录:
<form name="f2" method="post" action="form_submission2.php">
ITR:<input type="text" name="itr" id="itr" onkeypress="checkDB()" /><br />
Vehicle ID:<input type="text" name="id" id="v_id" value="" disabled><br />
答案 0 :(得分:2)
value
属性不是输入的值,而是输入的默认值。 value
属性是输入值。
要设置值,请使用val
:
$("v_id").val("hi");
(或者您可以使用.prop("value", "hi")
,但在惯用的情况下,您可以使用val
。)
但请注意,您错过了#
选择器上的id
,因此:
$("#v_id").val("hi");
RE
仍然无法正常工作
是的,确实如此:
function checkDB() {
var itr = document.getElementById("itr").value;
// Simulate ajax with timeout
setTimeout(function() {
$("#v_id").val("hi");
}, 10);
}
checkDB();
<form name="f2" method="post" action="form_submission2.php">
ITR:
<input type="text" name="itr" id="itr" onkeypress="checkDB()" />
<br />Vehicle ID:
<input type="text" name="id" id="v_id" value="" disabled>
<br />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:2)
请检查成功下的代码:
更改
$("v_id").attr("value","hi");
要
$("#v_id").val("hi");