在页面加载上使用JavaScript填充文本框

时间:2010-05-25 11:37:40

标签: asp.net javascript html

我的表单上有一个名为txtName的文本框。

在我的页面中,我知道我需要将代码放在我的HEAD标签中,就像这样......

<script type='text/javascript' language="javascript">

 document.FormName.txtName.value = "Robert";

 </script> 

但我似乎无法使用上面的代码......

为我的textbox txtName设置一个值

3 个答案:

答案 0 :(得分:5)

那是因为您的代码在创建DOM之前执行。 你可以做这样的事情

window.onload = function() { 
  document.forms['FormName'].elements['txtName'].value = "Robert";
}

或使用JQuery

$(function() {
  document.forms['FormName'].elements['txtName'].value = "Robert";
  // for a shorter syntax use id
  $('#txtNameId').val("Robert");
}

答案 1 :(得分:1)

您的脚本在加载页面之前执行。使用onload事件

答案 2 :(得分:0)

您可以在文本框中设置ID吗?然后你可以使用getElementByID(“textboxid”);按ID选择更快。

更新: 您需要确保已加载DOM,以便脚本可以找到要更新的元素。一种方法是:

<body>      
    <form>
    <input id="txtName" name="txtaaaName" type="text" value="notnow"/>
    </form>
    <script type="text/javascript">
        function LoadTextBox(){
            document.getElementById("txtName").value = "ready to go";
        }

        LoadTextBox();
    </script>   
</body> 

替代方法可以是在body标签中使用onload的地方:

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script type="text/javascript">
            function LoadTextBox(){
                document.getElementById("txtName").value = "ready to go";
            }
        </script>   
    </head>
    <body onload="LoadTextBox">     
        <form>
        <input id="txtName" name="txtaaaName" type="text" value="notnow"/>
        </form>

    </body>