Javascript / HTML>表格/输入>每次页面加载时自动触发

时间:2009-06-29 01:11:55

标签: javascript html

我必须采用我的工作示例here.出于某种原因,它不像初始示例那样容易。

新示例 假设我想在每次页面加载时看到M5。那么每次页面加载时如何为M5触发相同的查询?

我在这里复制了关键部分:

<body>
<div id="search">
         <form onSubmit="makeRequest(1); return false;" style="margin: 2px; padding: 2px; font-size: 1.2em;">   
        <input id="searchinput" type="text" name="tags" size="20" value="">
        <input id="searchbutton" type="button" onClick="makeRequest(1);" value="Create VideoWall"><br />
...
</form>
</div>

回应MiffTheFox和Tom的回复中的想法

所以我在上面的表单之前添加了命令:

<body onload="document.getElementById('myform').submit();"> 

然而,墙壁保持黑色。它应该是M5s。

初始问题出现问题:为什么不起作用?墙为什么留黑?

汤姆问

makeRequest

function makeRequest(page){
    startrequest = 0;
    for(i =1; i < 4; i++){
        clearList('ul'+i);
        var tags = encodeURI(document.getElementById('searchinput').value);

        if(i == 1 || i == 2){
            quantity = 45;
        }

        if(i == 3){
            quantity = 36;
        }
        insertVideos('ul'+i,'search',tags,quantity,startrequest);
        startrequest = startrequest + quantity;
    }
}

请查看顶部的网址,然后按CTRL + U查看代码。

3 个答案:

答案 0 :(得分:1)

首先在表单中添加一个ID,然后添加一个提交它的onLoad处理程序。

<body onload="myForm.submit();">
<form id="myForm" name="input" action="form_action.asp" method="get">
...

答案 1 :(得分:1)

不确定你要完成什么,但你当然可以使用jQuery来做

$(document).ready(function(){      $( “#提交按钮”)点击(); });

问题是确保这只在第一次提交文件时发生;你需要在服务器端跟踪它,并在第一次之后删除提交代码。

更好的方法可能是在服务器端编写HTML,以便显示您要显示的任何初始状态。许多Web应用程序都有一个表单来提交某种类型的查询(比如搜索),但是从表单下面的一些初始样本结果开始。这只是在加载之前在服务器端创建的,而不是通过“预提交”。

答案 2 :(得分:1)

嗯,在body元素中有load属性

<body onload = "javascript:doSubmit()">
...
</body>

<script>
function doSubmit(){
var form = document.getElementById("myform");

if (form !=null)
  form.submit();

}
</script>

此外,您可以在html页面的末尾添加javascript。这不像第一个选项那样便携

<html>
 <body>
  <form id="myForm" ...>
   ...
  </form>
 <script>
  //this executes when the page finishes loading
  var form = document.getElementById("myForm");

  if (form!=null) form.submit();
  </script>
 </body>
</html>