我正在从事 Ajax-php livesearch 编程。我想在 Html 输入框中输入 2 个参数,但 JS 无法接收这些值。为什么?
我的 HTML
<form class="category 1" name="search" action="display.php" onsubmit="return validateForm()" method="get">
<select id="category" class="category" onchange="showUser1()" title="choose the language you want">
<option value="">카테고리를 선택하세요</option>
<optgroup label="고속 검색 : 시작하는 단어가 매칭됩니다.">
<option value="3d">3D</option>
<option value="dorl">돌란드 사전</option>
<option value="term">영한 표준용어사전</option>
<option value="kcd">표준질병코드</option>
<option value="ind">인덱스</option>
<option value="toc">목차</option>
<option value="coupling">연결고리</option>
<option value="fig">Figure</option>
<option value="tab">Table</option>
</select>
Input:
<input type="text" name="search" id="qstr" onkeyup="showUser1()"> Input:
<input type="text" name="search" id="pstr" onkeyup="showUser1()">
</form>
我的js代码如下。
function showUser1(str) {
if (window.XMLHttpRequest) {
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("hint").innerHTML = xmlhttp.responseText;
}
}
var category = document.getElementById('category').value;
var q = document.getElementById('qstr').value + "&p=" + document.getElementById('pstr').value;
xmlhttp.open("GET", "./livesearch_" + category + ".php?q=" + q, true);
xmlhttp.send();
}
确实,1 个选择选项参数 - 良好的输入 -、qstr ID 变量 - 良好的输入 - 和 pstr ID 变量 - 不起作用=
最佳答案
尝试一个独特的名称
Input: <input type="text" name="search" id="qstr" onkeyup="showUser1()" >
Input: <input type="text" name="search-2" id="-pstr" onkeyup="showUser1()" >
关于javascript - 我想知道为什么2个变量不能进入js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49990360/