【发布时间】:2015-02-19 17:50:57
【问题描述】:
在主机上,php 生成 javascript,它会抛出以下错误: 失踪 ;声明之前
生成的代码是:
try{
obj = document.getElementById('subcat');
}catch(e){}
try{
obj.innerHTML = "<select name=\"sub_ad_category_id\">
<option value=\"\">-</option>
<option value=\"5\">bootle</option>
<option value=\"3\">Puzzle</option>
</select>";
}catch(e){}
它是由action.php生成的,代码如下:
if($var_type=='array') $text = '<select name="+ads_data[sub_ad_category_id]+">';
else $text = '<select name="sub_ad_category_id">';
$text .= '<option value="">-</option>';
$res = $ads->get_ads_categories($_SESSION['lang'],$parent_id);
while($r = mysql_fetch_array($res)){
$text .= '<option value="'.$r['ad_category_id'].'">'.$r['category_name'].'</option>';
}
$text .= '</select>';
echo "try{obj = document.getElementById('".$id."');}catch(e){}";
echo "try{obj.innerHTML = ".$text.";}catch(e){}";
【问题讨论】:
-
我认为你必须在字符串中使用单引号或转义你的双引号
-
你在连接中缺少 +
-
"...在 localhost 中它工作正常" 我敢打赌代码在任何主机上都不起作用。如果看起来确实如此,那么您可能正在运行缓存中的不同代码。
-
Javascript 执行也不依赖于托管,因为这部分似乎是客户端,就您所说的在 Firefox 中测试它而言
-
绝对不能在任何环境下工作。请看我上面的评论。
标签: javascript php jquery ajax hosting