2009-06-15 70 views
0
<script language="javascript" type="text/javascript"> 
var a =10; 
function test() 
{ 
if (a ==10) { 
    document.sample.checkbox1.checked = true ; 
    } 

} 

</script> 

<form name="sample"> 

<input type="checkbox" name="checkBox1" test();>Option 

</form> 

创建表单元素在创建窗体本身的自动调用基于它的功能应该决定其是否需要检查或不..调用功能,而在JavaScript

这里的问题。如何调用该函数,不需要任何点击(上单击事件)

感谢, Chells

回答

2

你可以在bodyonLoad处理器运行test()功能:

<body onLoad="test();"> 

这将调用函数一次页面的内容已经被加载。

你也可以只调用<script>标签功能的输入后:

<form name="sample"> 
    <input type="checkbox" name="checkBox1">Option  
</form> 

<script language="JavaScript" type="text/javascript"> 
    test(); 
</script> 

为页面加载这将被调用。

+2

``设置`window.onload`,即它*将*等待外部资源加载!如果你不想等待,你需要一个DOMContentLoaded监听器(或者在浏览器中使用适当的黑客,它本身不支持这个事件) – Christoph 2009-06-15 09:04:38

0

像你想它调用body标签的onload事件听起来给我。但也许你可以解释更多关于为什么你想先调用这个函数?

+0

我只是想使basesd对变量的复选框。我会在页面上移动,然后如果回来复选框。它应该根据它应该决定的变量自动调用函数。是否需要检查或不需要。 ? – joe 2009-06-15 09:03:57

0

正如Perspx说的那样,抛出一个事件来处理body的onload,但是看看一个事件库(like mine),因为它们比内联事件有更好的支持和灵活性。

1

总有美好的旧document.writeln(),即使它是由DOM操作。在大多数情况下,使用了成功:

<script type="text/javascript"> 
document.writeln('<input type="checkbox" name="checkBox1"' + 
    (a == 10 ? ' checked' : '') + '>'); 
</script> 
<noscript> 
<!-- unchecked by default --> 
<input type="checkbox" name="checkBox1"> 
</noscript>