Я хочу проверить значения из одного из двух текстовых полей текстовых полей, которые соответствуют значению с другим, без отправки формы. Событие keypress обрабатывает это, отправив значение с страницы jour_info.php на страницу get_sid.php. У меня есть два файлаPhp: Как получить значение текстового поля из базы данных mysql без отправки формы
- jour_info.php
- get_sid.php
код в первом файле
<form method="post" name="journ_form" >
P-ISSN/ISBN<br/><input name="printissn" id="printissn_input" type="text" value="">
<input type="text" name="pissnsid" id="pissnsid" style="width: 30px;" autocomplete="off" value="">
<span style="color: red;" id="feedback"></span>
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#feedback').load('get_sid.php').show();
$('#printissn_input').keyup(function(){
$.post('get_sid.php', {printissn: journ_form.printissn.value},
function(result) {
//$('#feedback').html(result).show();
document.getElementById('pissnsid').value = result;
});
});
$('#pissnsid').keyup(function(){
$.post('get_sid.php', {pissnsid: journ_form.pissnsid.value},
function(result) {
document.getElementById('printissn_input').value = result;
});
});
});
Код во втором файле
<?php
include 'auth.php';
$printissn = $_POST['printissn'];
$pissnsid = $_POST['pissnsid'];
if($printissn){
$check = mysql_query("SELECT printissn, pissnsid FROM jour_entries WHERE printissn='$printissn'");
$check_num_rows = mysql_num_rows($check);
while($row = mysql_fetch_array($check)){
//$get_printissn = $row['printissn'];
$get_printissnsid = $row['pissnsid'];
if($check_num_rows == 0){
echo '';
} else if($check_num_rows == 1){
echo $get_printissnsid;
}
}
} else if($pissnsid){
$check = mysql_query("SELECT printissn, pissnsid FROM jour_entries WHERE pissnsid='$pissnsid'");
$check_num_rows = mysql_num_rows($check);
while($row = mysql_fetch_array($check)){
$get_printissn = $row['printissn'];
//$get_printissnsid = $row['pissnsid'];
if($check_num_rows == 0){
echo '';
} else if($check_num_rows == 1){
echo $get_printissn;
}
}
}
?>
Теперь все работает нормально, проблема заключается в том, что в первом текстовом поле вводится значение, показывающее соответствующее совпадение во втором текстовом поле. Но в случае, если значение не совпадает с двумя полями, и пользователю необходимо вручную вводить данные, возникает проблема. Когда совпадения нет, и пользователь вводит значение в первом текстовом поле, тогда второе значение текстового поля исчезает. Как это решить?
Если то, что вы пытаетесь сделать, это собрать значение с помощью JQuery и сделать что-то с ним, как напечатать его или сравнить это с другим, то вот что может вас заинтересовать: http://stackoverflow.com/questions/13058816/how-get-php-respone-from-jquery-load/13059086#13059086 '$ .get () 'является ответом для этого в некоторых случаях. –
Как насчет того, чтобы вы не установили значение, если у вас нет значения для установки? – epascarello
Yah, если человек вводит значение, и он отображает совпадение во втором текстовом поле, если он не совпадает, человек может ввести значение вручную во втором текстовом поле, но проблема заключается в том, когда мы пытаемся ввести значение во втором текстовом поле, значение в первом текстовом поле исчезает. – razor