2016-08-31 5 views
0

Я пытаюсь использовать ajax в форме, чтобы он проверял базу данных с помощью php-скрипта, а затем я хотел бы изменить значения некоторых разделенных полей в моей форме, но, похоже, это работает, хотя ajax работает и jquery.jquery attr не работает должным образом

Heres сценарий

<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 /> 
+2

опечатка: Вы упускаете '#' на 'id' селектора. Также используйте 'val()', а не 'attr ('value', x)'. Попробуйте '$ (" # v_id "). Val (" hi ");' –

ответ

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>

+0

все еще не работает – RatikBhat

+0

@RatikBhat: Да, это работает. Там может быть какая-то ** другая **, не связанная с вашим кодом проблема, но это работает. –

+0

Да, это сработало спасибо за ответ, что это была опечатка (отсутствует #) – RatikBhat

2

Пожалуйста, проверьте код под успеха:

Изменить

$("v_id").attr("value","hi"); 

Для

$("#v_id").val("hi"); 
Смежные вопросы