Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t调用javascript中的函数,在没有onclick事件的情况下更改表单中文本框的值_Javascript_Html_Arrays_Forms - Fatal编程技术网

Can';t调用javascript中的函数,在没有onclick事件的情况下更改表单中文本框的值

Can';t调用javascript中的函数,在没有onclick事件的情况下更改表单中文本框的值,javascript,html,arrays,forms,Javascript,Html,Arrays,Forms,除非使用onclick事件,否则无法让函数输出其存储的值。我宁愿让它在脚本完成后执行,而不必单击按钮。每次我试图通过调用exvalues(form)使函数输出其答案时;或者在表单ex上使用onload函数,它似乎永远不会输出 <html> <title>Databases</title> <head> <script> var A ; var B ; var C ; var D

除非使用onclick事件,否则无法让函数输出其存储的值。我宁愿让它在脚本完成后执行,而不必单击按钮。每次我试图通过调用exvalues(form)使函数输出其答案时;或者在表单ex上使用onload函数,它似乎永远不会输出

<html>
    <title>Databases</title>
    <head>
    <script>

    var A ;
    var B ;
    var C ;
    var D ;
    //variables to count 4 for loops
    var E = [];
    var F = [];
    var G = []; 
    var H = [];
    //array to store values of loops
    var id_value = 0 ;
    //tell user which ID value is being requested
    for(A=0; A < 4; A++){

        id_value += 1


         E[A] = prompt("ID #" + id_value + " What is your first name?")

        for(B=0; B<1; B++){

           F[A] = prompt("ID #" + id_value + " What is your last name?")

            for(C=0; C<1; C++){

               G[A] = prompt("ID #" + id_value + " What is your address?")

               for(D=0; D<1 ; D++){

                   H[A] = prompt("ID #" + id_value + " What is your phone number?")

}
}
} 
} ;
    //loops to grab information

    function Values(form){
        form.name1.value = E[0];
        form.name5.value = E[1];
        form.name9.value = E[2];
        form.name13.value = E[3];

        form.name2.value = F[0];
        form.name6.value = F[1];
        form.name10.value = F[2];
        form.name14.value = F[3];

        form.name3.value = G[0];
        form.name7.value = G[1];
        form.name11.value = G[2];
        form.name15.value = G[3];

        form.name4.value = H[0];
        form.name8.value = H[1];
        form.name12.value = H[2];
        form.name16.value = H[3];
    } ;
     //grab values from arrays and display them in textbox values

    Values(form) ;
    //call function to run after script has ran to export values to textboxes

</script>
</head>
<body>

<form>
    <input type="button" value="Click me To show Results." onclick="Values(form)">
<table>

    <tbody>
    <tr>
    <td><p>ID # </p></td>
    <td><p> First Name </p> </td>
    <td><p> Last Name</p></td>
    <td><p> Address</p></td>
    <td><p> Phone Number</p></td>
  </tr>
  <tr>
    <td><p> 1</p></td>
    <td><input type="textbox" name="name1" value=""> </td>
    <td><input type="textbox" name="name2" value=""> </td>
    <td><input type="textbox" name="name3" value=""> </td>
    <td><input type="textbox" name="name4" value=""> </td>
  </tr>
  <tr>
   <td><p>2</p></td>   
   <td><input type="textbox" name="name5" value=""> </td> 
   <td><input type="textbox" name="name6" value=""> </td>
   <td><input type="textbox" name="name7" value=""> </td>
   <td><input type="textbox" name="name8" value=""> </td>
  </tr>
  <tr>
      <td><p> 3</p> </td>
   <td><input type="textbox" name="name9" value=""> </td>
   <td><input type="textbox" name="name10" value=""> </td>
   <td><input type="textbox" name="name11" value=""> </td>
   <td><input type="textbox" name="name12" value=""> </td>

  </tr>
  <tr>
   <td><p> 4</p> </td>
   <td><input type="textbox" name="name13" value=""> </td>
   <td><input type="textbox" name="name14" value=""> </td>
   <td><input type="textbox" name="name15" value=""> </td>
   <td><input type="textbox" name="name16" value=""> </td></tr>
 </tbody>
</table>
</form>

</body>
</html>

数据库
var A;
var B;
var C;
变量D;
//循环计数为4的变量
var E=[];
var F=[];
var G=[];
var H=[];
//用于存储循环值的数组
var id_值=0;
//告诉用户正在请求哪个ID值
对于(A=0;A<4;A++){
id_值+=1
E[A]=提示(“ID#”+ID#u值+“您的名字是什么?”)

对于(B=0;B您正在做的是使用事件驱动方法来触发值()。这就是为什么您感觉交互已断开。您可以做的是使用事件驱动,但通过将事件侦听器添加到元素。这样,您不需要单击来运行值()。相反,事件侦听器将自行查找更改

例如AddEventListner或.Bind(),甚至jQuery的.on('change')事件都可以帮助您

onLoad()事件的方式与此类似。它真正的作用是在Body对象上应用onLoad()。在完全下载文档并通过编译器进行解析后,将调用onLoad()。但它只运行一次!因为在page load上只呈现DOM一次。onClick()是不同的。您通过单击触发它,每次单击它时它都会运行

window.onload=函数(e){
var sels=document.querySelectorAll('input');

对于(i=0;我为什么不使用布尔变量来标记脚本何时完成,然后执行Values函数?我该如何做?我对html/javascript有一个非常基本的了解。将脚本移到底部,就在
标记之前。您当前调用
Values()的尝试
在尝试更新的元素被解析之前发生。