Вывод в текстовое поле

В настоящее время я использую две страницы, одна из них — мой Main.php, а другая — только для PHP-кода (ajaxModule.php), чтобы мой AJAX работал. Я также использую базу данных SQL, которую я создал, и использую ее для извлечения данных, чтобы заполнить выбранные выпадающие списки и тому подобное. У меня есть текстовое поле, в котором пользователь вводит код модуля, и текстовое поле прямо под ним, которое для имени модуля будет автоматически заполнено, поэтому пользователю не нужно его записывать. Я могу использовать функцию AJAX ниже, чтобы получить правильное имя модуля, но не могу получить его для вывода в текстовое поле, вместо этого единственное, что я нашел, это работает, это span. Я понимаю, что текстовое поле предназначено только для ввода, но я искал способы вывода в текстовом поле, но не могу заставить их работать. Я также попытался передать массив значений, которые я получил от PHP на странице с AJAX в нем, обратно в Main.php, чтобы вывести его таким образом, но я не могу заставить его работать ,

Вот код, который вам нужен на моей странице Main.php:

<div id="slide3" class = "unactiveSlide">
<form id = "requestForm">
<div id = "requestdiv">
<table>

<tr><!-- This is where the user inputs the module code and the function is called with onkeyup-->
<td><a href="#" title="Enter the module code e.g. 'COB290' i.e. Department Code followed by Part and Actual Module Code">Module Code</a></td>
<?php
echo "<td>";
echo "<input type='text' size='40' id='moduleCodeID'  onkeyup='loadXMLDoc(this.value)'/>";
echo "</td>";
?>
</tr>

<tr><!-- This is where the module name appears with the use of AJAX-->
<td><a href="#" title="The name of the module e.g. 'Team Projects'">Module Name</a></td>
<?php
<td><span id='moduleCodeToNameDiv'></span></td>
</tr>

</table>
</div>
</form>
</div>

Вот функция AJAX, которая находится над этим кодом, также в Main.php (q — это переменная, которую я использовал на следующей странице для переноса значения):

<head>
<script>
//AJAX SCRIPT FOR MODULE CODE TO MODULE NAME

function loadXMLDoc(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("moduleCodeToNameDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajaxModule.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>

Вот код в моем файле AJAX с именем ajaxModule.php:

<html>
<body>
<?php

$q = $_GET["q"];

$con = mysqli_connect('localhost','root','','team06');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"reqs");

$sql = "SELECT Module_Title FROM module WHERE Module_Code = '" . $q."'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))

{
echo $row['Module_Title'];
}
?>
</body>
</html>

Может кто-нибудь сказать, пожалуйста, как получить его вывод в текстовое поле?
Заранее спасибо,

Идрис.

0

Решение

Чтобы установить <input> значение не присваивается innerHTML вместо:

 Document.getElementById("xxx").value = xmlhttp.responseText;

Не забудьте убежать $q

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]