2009-06-29 13 views
0

私は実際の例を取らなければならなかったhere.何らかの理由で、最初の例ほど簡単には機能しません。Javascript/HTML>フォーム/入力>ページが読み込まれるたびに自動的に呼び出される

新しい例 は私がM5Sたびにページが読み込まを見たいとします。では、ページが読み込まれるたびにM5の同じクエリをどのように起動できますか?

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

:私は上記のフォームの前にコマンドを追加しましたので、

MiffTheFoxの中のアイデアやトムの返事に

<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> 

応答:

は、私はここで重要な部分をコピーしかし、壁は黒いままです。 M5でいっぱいになるはずです。

最初の質問に表示される質問:なぜ機能しないのですか?なぜ壁は黒いままですか?

は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でのURLを参照してください。

+0

私はあなたが質問を再解釈するべきだと思います。あなたは正確に何を達成しようとしていますか? – rifferte

+0

rifferte:入力があるフォームがあります。その値は "hello"です。私は値がページが読み込まれるたびにそれを発生させたい。 –

+0

makeRequest(1)とは何ですか? – Tom

答えて

1

まあ、body要素

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

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

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

} 
</script> 

内部の負荷属性のthere'sはまた、あなたの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> 
+0

これは正しいアプローチです。 –

+0

よろしくお願いします。私はそれが最終的に働いた:) –

1

最初にIDをフォームに追加し、それを送信するonLoadハンドラを追加します。

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

これは何度も何度も繰り返し提出しませんか? –

+0

idが "myForm"の要素を "myForm"と呼ぶのは特に優れた方法ではありません。誤解されていなければIEでしか動作しません。代わりにdocument.getElementById( 'myform')を使用する必要があります。しかしそうでなければ、私はこれが理にかなっていると思う。 – MatrixFrog

+0

JacobM:いいえ、 "onload"イベントは、ページが読み込まれたときに発生します。 – MatrixFrog

1

ないあなたが達成しようとしているが、あなたは確かに

$(ドキュメント).ready(関数(){ $( "#のsubmitButton")を行うためのjQueryを使用することができますどのようにしてください。クリック(); });

問題は、これが初めてドキュメントが送信されたときにのみ発生することです。最初にサーバー側でそれを追跡し、提出コードを削除する必要があります。

おそらく、表示したい初期状態が表示されるように、サーバー側でHTMLを作成する方がよいでしょう。多くのWebアプリケーションは、何らかの種類のクエリ(例えば、検索)を提出するフォームを持っていますが、フォームの下の初期サンプルの結果から始めます。これは、ロード前のサーバー側で作成されたものであり、「送信前」ではありません。

関連する問題