1

重複の可能性:
iframe に投稿するにはどうすればよいですか?

私は2つのことをしたいフォームを持っています - 1つのボタンで標準のフォームリクエストを送信し(これは機能します)、2番目のボタン(これも部分的に機能します)があり、ページ内のiframeを値で開きますiframe URL に追加されたフォームから。

私が使用しているスクリプトは次のとおりです。

<script language="JavaScript" type="text/javascript"> 
function makeFrame() { 
ifrm = document.createElement("IFRAME"); 
ifrm.setAttribute("src", "https://www.hostname.com/filepath"); 
ifrm.style.width = 340+"px"; 
ifrm.style.height = 630+"px"; 
document.body.appendChild(ifrm); 
} 
</script>

そしてフォーム:

<FORM action="https://www.hostname.com/filepath" method="POST" name="form" id="viewGift">
  <P><br>
    <LABEL for="giftId">giftId: </LABEL><INPUT type="text" name="giftId"><BR>
    <INPUT type="radio" name="opt1" value="1" checked> opt1<BR>
    <INPUT type="radio" name="opt2" value="2"> opt2<BR>
    <INPUT type="radio" name="opt3" value="3"> opt3<BR>
    <INPUT type="radio" name="opt4" value="4"> opt4<BR>
    <INPUT type="button" value="Send Gift" onclick="formSubmit()">
    <INPUT type="button" value="Show Gift" onclick="makeFrame()">
 </P>
 </FORM>

フォームは正しく送信されますが、[ギフトを表示] ボタンを使用してフォームの giftId 値を iframe URL に渡す方法がわかりません。URL をハードコードすると、Show Gift ボタンは問題なく機能しますが、ページの目的にはあまり役に立ちません。

基本的に、giftId がユーザーによって入力されるhttps://www.hostname.com/filepath/giftIdの URL で iframe を作成するには、Show Gift ボタンが必要です。

4

1 に答える 1

0

これはうまくいくはずです:

function makeFrame() {
    var ifrm = document.createElement("IFRAME");
    var gift_id=document.getElementById('viewGift').elements['giftId'].value
    ifrm.setAttribute("src", "https://www.hostname.com/filepath/"+gift_id);
    ifrm.style.width = 340 + "px";
    ifrm.style.height = 630 + "px";
    document.body.appendChild(ifrm);
}
于 2013-01-27T22:00:59.857 に答える