执行javascript onload而不是onchange

执行javascript onload而不是onchange,javascript,onload,onchange,Javascript,Onload,Onchange,我有一个PHP页面中的HTML表单。表单有各种输入。其中一个输入具有onchange事件: <input size=10 type=number id=sku1 name=sku1 onchange="showUser(1, this.value);showWhse(1, this.value)"> 这将调用以下函数: <script type="text/javascript"> function showUser(userNumber, str)

我有一个PHP页面中的HTML表单。表单有各种输入。其中一个输入具有onchange事件:

<input size=10  type=number id=sku1 name=sku1 onchange="showUser(1, this.value);showWhse(1, this.value)">

这将调用以下函数:

<script type="text/javascript">  
  function showUser(userNumber, str)  
  {  
    if (str=="")  
    {  
      document.getElementById("txtHint" + userNumber).innerHTML="";  
      return;  
    }    
    if (window.XMLHttpRequest)  
    {// code for IE7+, Firefox, Chrome, Opera, Safari  
      xmlhttp=new XMLHttpRequest();  
    }  

    xmlhttp.onreadystatechange=function()  
    {  
      if (xmlhttp.readyState==4 && xmlhttp.status==200)  
      {  
        //document.getElementById("txtHint" + userNumber).innerHTML=xmlhttp.responseText; 
        var responseText = xmlhttp.responseText;  
        var description = responseText.substring(12, responseText.indexOf(",Warehouse:"));  
        var warehouse = responseText.substring(responseText.indexOf(",Warehouse:")+11, responseText.indexOf(",SellingUnits:"));  
        var sellingUnits = responseText.substring(responseText.indexOf(",SellingUnits:")+14);  

        document.getElementById("whse" + userNumber).innerHTML = warehouse;  
    document.getElementById("txtHint" + userNumber).innerHTML = description;  
    document.getElementById("su" + userNumber).innerHTML = sellingUnits;  
  }  
}  
xmlhttp.open("GET","getdata1.php?q="+str,true);  
xmlhttp.send(); 
} 
</script>

函数showUser(userNumber,str)
{  
如果(str==“”)
{  
document.getElementById(“txtHint”+userNumber).innerHTML=“”;
返回;
}    
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}  
xmlhttp.onreadystatechange=函数()
{  
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{  
//document.getElementById(“txtHint”+userNumber).innerHTML=xmlhttp.responseText;
var responseText=xmlhttp.responseText;
var description=responseText.substring(12,responseText.indexOf(“,Warehouse:”);
var warehouse=responseText.substring(responseText.indexOf(,warehouse:)+11,responseText.indexOf(,SellingUnits:);
var sellingUnits=responseText.substring(responseText.indexOf(“,sellingUnits:”)+14);
document.getElementById(“whse”+用户号).innerHTML=仓库;
document.getElementById(“txtHint”+userNumber).innerHTML=说明;
document.getElementById(“su”+userNumber).innerHTML=sellingUnits;
}  
}  
open(“GET”、“getdata1.php?q=“+str,true”);
xmlhttp.send();
} 
这100%有效。但是,如果输入由一个会话变量填充,并且页面被刷新,那么如何使脚本在没有onchange事件的情况下再次在加载时执行


因此,当第一次访问页面时,输入id有一个值,执行脚本?

是否只执行onload函数

window.onload = function init() {
    showUser(1, document.getElementById("sku1").value);
}

您还可以使用文档正文的onload属性,或者将init函数作为事件处理程序添加到
domcontentload
。但是我确信您已经有了一些在domReady上执行的函数。

您也可以使用jquery中的ready函数

$(document).ready(function() {
  showUser(1, $("#sku1").val());
});
好吧,你可以用这个活动。您可能还想考虑使用jQuery的文档。可以找到不同之处。此外,Jquery为访问表单元素提供了更简洁的语法

在这两种情况下,您可能只需要执行类似于检查字段是否有值之类的操作的函数

<script type="text/javascript">  

function showUserOnLoad()
{
    var inputValue = $('#sku1').val();
    if(inputValue != '' && inputValue != null)
        showUser(1, inputValue);        
}

function showUser(userNumber, str)  
{
    ...
} 
</script>

函数showUserOnLoad()
{
var inputValue=$('#sku1').val();
if(inputValue!=''&&inputValue!=null)
showUser(1,输入值);
}
函数showUser(userNumber,str)
{
...
} 

这真是太容易了!谢谢你。我会尽快接受答案!