您好我有两个家属选择框,第二个在onchange事件后很受欢迎。
第一个加载了一个选定的值(选择=选中),我问的是,可以在页面加载时发送请求,即因为我有所选的选项,只需发送请求
的Javascript
function getXMLHTTP() {
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getSubCat(catId,incat) {
var strURL="../Includes/subcatAds.php?SubCat="+catId+"&incat="+incat;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('subcat').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
如果需要,将提供PHP
答案 0 :(得分:4)
您确实需要使用jQuery并将以上所有内容替换为:
function getSubCat(catId, incat)
{
$('#subcat').load("../Includes/subcatAds.php?SubCat="+catId+"&incat="+incat);
}
// Run on load:
$( function(){
getSubCat(4, 5);
});
它会做同样的事情。它设置为在加载时运行,您不必担心跨浏览器兼容性。
你会发现自己一直在使用jQuery选择器,你的代码将非常轻量级。如果您将jQuery库链接到Google服务器,人们甚至不必下载它。大多数人已经在缓存中使用它了。
答案 1 :(得分:1)
您可以使用onload
这样的事件:
window.onload = function(){
var selectbox = document.getElementById('select box id');
if (selectbox.value !== ''){
// your code to send ajax requests...
}
};
代码会在页面加载后立即运行。然后检查指定的选择框的值是否为空,表示选择了某些内容;在这种情况下,您将代码放入将执行的ajax请求。
答案 2 :(得分:1)
由于您在从用户获取任何输入之前执行此操作,因此您可以在DOM完成之前,在页面完全加载之前立即调用服务器,然后等待onload事件发生,或者您得知DOM树已完成,然后您可以安全地更改任何html元素的值。
这样,您甚至无需等待浏览器在您开始请求之前完成加载,这将改善用户体验。