最初の方法 私は最近 Web プロジェクトに取り組んでいて、ページ間でパラメーターを渡す必要がある関数に遭遇しました。これには、現在のページのコンテンツを新しく開いたサブフォームに移動する必要がありました。 ID を渡して、新しいウィンドウでデータベースの内容を読み取ることです。それほど面倒ではありませんが、コンテンツがデータベースに保存されておらず、ドラフト状態のみの場合は実装できず、ユーザーはバグだと思うことがよくあります。 get メソッドを使用して転送し、必要なすべてのコンテンツをシリアル化してから URL 経由で転送することを検討してください。これは非常に肥大化しており、get によって転送されるコンテンツの長さは制限されています。そこで、post メソッドを使用して配信することを考えました。問題は、open メソッドではリクエスト メソッドを設定できないことです。通常、Web ページへの投稿はフォームを通じて実装されます。フォームの送信メソッドのみをシミュレートする場合、フォームのプロパティを設定できる open メソッドのパラメーターは使用できません。最後に、フォームのターゲットを open の name パラメータと同じ値に設定し、ブラウザによる自動認識を通じてコンテンツを新しいウィンドウに投稿する方法を見つけました。
さらに興味深いのは、ヘルプ ドキュメントを表示した後、フォームの submit メソッドを呼び出して onsubmit イベントを直接トリガーできないことです。手動でトリガーしないと、開かずにページが更新されるだけになります。新しいウィンドウ。コードではパラメータの内容は 1 つだけ渡されますが、実際には複数のパラメータを渡すことができます。
具体的なコードは次のとおりです:
<script> <br>function openPostWindow(url, data, name) <br>{ <br>var tempForm = document.createElement("form"); <br>tempForm.id="tempForm1"; tempForm.method="post "; <br>tempForm.action=url; <br>var hideInput = document.createElement("input"); "; <br>hideInput .name= "content" <br>hideInput.value= data; <br>tempForm.appendChild(hideInput); <br>tempForm.attachEvent("onsubmit",function(){ openWindow(name) ; }); <br>document.body.appendChild("onsubmit"); <br>document.body.removeChild(tempForm); 🎜>} <br> function openWindow(name) <br>{ <br>window.open('about:blank',name,'height=400, width=400, top=0, left=0, toolsbar=yes 、menubar=yes、スクロールバー =yes、resizable=yes、location=yes、status=yes'); <br>} <br></script>
2 番目の方法
コードをコピーvar html = ""; html = "