2

Javascript を使用してフォーム変数を PHP ページに渡していますsprcial_action.phpが、そのページにリダイレクトされません。私のコードを以下に示します。どこに問題があるのか​​教えてください。

<script>
function formSubmit(index)
{
    var image = document.getElementById("hdnimage" + index);
    var email = document.getElementById("email" + index);

    window.location.href = "sprcial_action.php?name=" + image; 
}
</script>

<form enctype="multipart/form-data" id="form1" name="form1" method="get">

<div class="offers">

    <div class="offer-banner">
         <img src="/images/specialoffer/offer-1.png" />
    </div>
    <div class="mobile">
         <input type="text" value="Mobile" name="mobile" />
    </div>
    <div class="or-button"></div>
    <div class="email">
         <input type="text" value="Email Address" name="email" id="email0"  />
    </div>
    <input type="hidden" name="hdnimage0" id="hdnimage0" value="/images/specialoffer/offer-1.png" />
    <div class="redem-copon">
         <!--<a href="#"><img src="/images/specialoffer/copun.png" /></a>-->
         <input type="image" src="/images/specialoffer/copun.png" onclick="formSubmit(0)" />
    </div>
</div>
</form>
4

4 に答える 4

2

window.location.hrefで始まるフルパスが必要http://です。.value画像オブジェクトに追加

あなたは次のように書くべきです

window.location.href = "http://mydomain.com/sprcial_action.php?name=" + image.value;
于 2012-11-29T06:16:17.750 に答える
1

答えがあります:

 <script>
function formSubmit(index)
{
    var image = document.getElementById("hdnimage" + index);
    var email = document.getElementById("email" + index);
var data=image.value;
    window.location.href = "http://yourservername/sprcial_action.php?name=" + data; 
}
</script>

<form enctype="multipart/form-data" id="form1" name="form1" method="get">

<div class="offers">

    <div class="offer-banner">
         <img src="/images/specialoffer/offer-1.png" />
    </div>
    <div class="mobile">
         <input type="text" value="Mobile" name="mobile" />
    </div>
    <div class="or-button"></div>
    <div class="email">
         <input type="text" value="Email Address" name="email" id="email0"  />
    </div>
    <input type="hidden" name="hdnimage0" id="hdnimage0" value="/images/specialoffer/offer-1.png" />
    <div class="redem-copon">
         <!--<a href="#"><img src="/images/specialoffer/copun.png" /></a>-->
         <input type="image" src="/images/specialoffer/copun.png" onclick="formSubmit(0)" />
    </div>
</div>
</form>
于 2012-11-29T06:49:37.623 に答える
1

変数は、その値ではなくobjectimageを参照します。その値を取得するには、次を追加します。input .value

window.location.href = "sprcial_action.php?name=" + image.value;
// here -------------------------------------------------^

ただし、emailフィールドを取得していても何もしていないことに注意してください。設定してもフォームは送信hrefされず、指定されたページに移動するだけです。

フォームの送信先を変更する場合は、オブジェクトのactionプロパティを設定する必要があります (変更しないでください)。formlocation.href

var form = document.getElementById("form1");
form.action = image.value;

フォーム送信中にブラウザ間で確実に変更できるとは100%確信が持てません。ターゲットブラウザでテストする必要があります。

于 2012-11-29T06:17:44.940 に答える
1

「sprcial_action.php」ページが同じアプリケーション内にある場合は、上記の回答 (@Rab'a Answer) を参照してください。image( オブジェクトとして扱われるため) の代わりに image.value を使用する必要があります。フルパスを指定する必要はありません。ただし、このページが現在のアプリケーションの外部にある場合は、完全なアドレスを指定する必要があります。

window.location.href = "http://imagesheaven.com/sprcial_action.php?name=" + image.value;

document.location.href も使用してみてください。ありがとう!!

于 2012-11-29T06:30:26.643 に答える