gpt4 book ai didi

php - 将 this.value 传递给包含空格的 AJAX javascript 函数,不返回任何结果

转载 作者:行者123 更新时间:2023-12-02 19:03:36 26 4
gpt4 key购买 nike

我有一个下拉菜单,其中包含美国不同的州。当用户选择不同的州时,它会将 this.value 发送到一个 ajax 函数,该函数填充另一个下拉菜单,其中填充了该州内的不同城市。

好消息是它在大多数情况下都有效。然而,当我选择一个包含两个单词的州(例如“纽约”)时,它没有找到任何内容。我发现它是因为中间有一个空白。因此 this.value 实际上只传递“New”而不是“New York”。下面是我的 PHP 代码和 AJAX 函数。谁能告诉我我在这里错过了什么?谢谢一百万:-)

        //if result returns a value
if ($result != NULL){

$row = mysql_fetch_assoc($result);
$countryCode = $row['Code'];

if ($countryCode != NULL){

$sql = "SELECT DISTINCT District FROM City WHERE CountryCode = '$countryCode'";
$result = mysql_query($sql);

?>
<select name="state" onchange="getCity('<?=$country?>',this.value)">
<option>Select State</option>

<? while($row=mysql_fetch_array($result)) { ?>

<option value="<?=$row['District']?>"><?=$row['District']?></option>

<? } ?>

</select>

<?php

}


}


function getCity(countryId, stateId) {
var strURL="findCity.php?country="+countryId+"&state="+stateId;
var req = getXMLHTTP();

if (req) {

req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('citydiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}

最佳答案

您应该像这样将值括在双引号中

<option value="<?=$row['District']?>"><?=$row['District']?></option>

默认情况下,HTML 将第一个单词作为值,将下一个单词作为下一个没有任何值的属性的名称。将其括在引号中将使整个短语成为单个值..

关于php - 将 this.value 传递给包含空格的 AJAX javascript 函数,不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com