我不知道我是否只是在想這個或什麼太辛苦。我只想根據通話結果選擇特定的選項。目前通話根據郵政編碼生成城市,州,國家。來自GET的響應是「Sacramento | CA | United States」我可以很容易地將響應放入輸入框,但我無法弄清楚如何根據響應選擇選項。這可能嗎?我一直在瀏覽一些方法屬性,並且我沒有看到任何可以使用的東西。選擇一個基於req.responseText的選項
以下是Get腳本。
<script type="text/javascript">
var req;
var oldData;
var doesNotSupport = true;
function getAddress(url, number)
{
if (number == "" || oldData == number || !doesNotSupport)
return;
oldData = number;
document.getElementById('city').value = "Searching ...";
document.getElementById('state').value = "Searching ...";
document.getElementById('country').value = "Searching ...";
if (window.XMLHttpRequest) {
req = new XMLHttpRequest;
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url + '?number=' + number + '&zip=' + number, true);
req.send(null);
} else {
alert("Your browser does not support XMLHttpRequest technology!");
doesNotSupport = false;
}
}
</script>
這裏是處理腳本
<script type="text/javascript">
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
var Result = req.responseText.split("|");
document.getElementById('city').value = Result[0];
document.getElementById('state').value = Result[1];
This is the problem child.
document.getElementById('country').value = Result[2];
} else {
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
}
</script>
選項設置
<option name="(abbr.)" value="(full name)">Full Name</option>
即
<option name="CA" value="California">California</option>
我只是在尋找的東西來取代.value的財產。像document.getElementById('state').childNode.attribute.name = Result[1]
之類的東西。
這裏是一個完整的網頁文件http://ge.tt/99dJ1J9?c
它有助於有縮寫。作爲選項中的一個值?您正在回覆中發送縮寫。 – JoshuaBoshi
我很笨。這工作完美。謝謝喬希。 –
沒問題:-)我發佈了常規答案。 – JoshuaBoshi