关于加载执行的Javascript

时间:2012-02-18 14:39:43

标签: php javascript onload onchange

我的PHP页面上有一个输入字段。当在输入框中输入值时,将调用javascript并在输入框旁边返回mysql值。这100%没有错误。

我的代码是:

<input type=text id=sku1 name=sku1 onchange="showUser(1, this.value)" onkeypress="return enter(document.orderform.sku2)"  value=<? echo $sku1; ?> >

当用户提交表单时,页面会在执行某些计算时返回自身。 当页面重新加载时,输入框具有用户输入的值($ sku1)。我的问题是mysql值不再在输入框的旁边,因为重新加载后输入框没有改变。

我想使用类似javaascript的OnLoad功能。

<input type=text id=sku1 name=sku1 onchange="showUser(1, this.value)" OnLoad="showUser(1, this.value)" onkeypress="return enter(document.orderform.sku2)"  value=<? echo $sku1; ?> > 

然而,这不起作用。

关于如何在加载时以及用户更改输入框的值时执行javascript的任何想法?

谢谢和问候, 莱恩史密斯

3 个答案:

答案 0 :(得分:2)

使用jquery的文档就绪方法或尝试将showUser放入body onload

答案 1 :(得分:1)

您可以使用onload这样的事件:

<script>
  var value = document.getElementById('sku1').value;
  window.onload = function() { showUser(1, value); }
</script>

答案 2 :(得分:1)

我建议使用DOMContentReady,而不是Load,因为它会提前触发。您还需要将侦听器附加到文档而不是输入元素本身,因为输入元素不提供加载事件(http://www.w3.org/TR/html4/interact/forms.html #H-17.4)

因此,在脚本标记或单独的javascript文件中:

document.addEventListener('DOMContentReady', function(){
  showUser(1,document.getElementById('sku1'));
})