形式可变传递

时间:2012-11-29 06:13:11

标签: php javascript html

我使用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 个答案:

答案 0 :(得分:2)

window.location.href需要从http://开始的完整路径。并将.value添加到图像对象

你应该写作

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

答案 1 :(得分:1)

您的image变量是指input 对象,而不是其值。要获得其价值,请添加.value

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

但请注意,您获得的是email字段,但之后没有使用该字段,并且设置href并非提交表单,只需要您到给定的页面。

如果要更改表单提交的位置,则必须在action对象上设置form属性(而不是更改location.href):

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

我并非100%确定您可以在表单中更改在浏览器中可靠地提交表单时,您需要在目标浏览器上进行测试。

答案 2 :(得分:1)

如果'sprcial_action.php'页面在同一个应用程序中,那么请参考上面的答案(@ Rab'a答案),你必须使用image.value而不是image(因为它将被视为一个对象) 。您不需要提供完整路径。 但是,如果此页面在当前应用程序之外,则必须指定完整地址。

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

也尝试使用document.location.href。谢谢!

答案 3 :(得分: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>