如何在执行表单操作之前合并表单中的2个输入值?

时间:2014-09-03 21:13:10

标签: php html forms bing-maps

我正在尝试创建一个表单,该表单可以让用户从他们输入的位置指向预定义的位置。我正在使用Bing Maps“创建自定义网址”来实现此目的。

基于msdn(http://msdn.microsoft.com/en-us/library/dn217138.aspx)我知道我需要传递单个值的表单,如下所示:rtp = adr.'addressfromuser'~adr.'predefined address'。我只是不知道如何合并表单值(或在用户输入前插入adr。)。我一直无法找到办法,所以任何帮助都表示赞赏。

我的表单代码如下:

<form action="http://bing.com/maps/default.aspx" method="get" target="_blank">
    <label for="rtp">From:</label>
    <input class ="input" type="text" name="rtp" value="adr." /> <!--user input-->
    <input type="hidden" name="rtp" value="~adr.Mission,TX" />
    <!--predetermined destination-->
    <input class="btn btn-primary" type="submit" type="submit" value="Get directions" />
</form>

丁这个得到的结果接近我想要的但不完全存在(想要隐藏最初的“adr。”并且在第二个rtp传递之前不生成“rtp =”。注意:如果我注释掉用户输入,我成功地获得了一个地图,其中最终目的地为b点,但没有定义的点

如果我正在尝试做的是可能的帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

您需要对ftp输入进行排列:

编辑:您需要在adr.输入的value="adr."内删除rtp

<form action="http://bing.com/maps/default.aspx" method="get" target="_blank">
    <label for="rtp">From:</label>
    <input class ="input" type="text" name="rtp[]" value="" /> <!--user input-->
    <input type="hidden" name="rtp[]" value="Mission,TX" />
    <!--predetermined destination-->
    <input class="btn btn-primary" type="submit" value="Get directions" />
</form>

然后,当您处理表单时,implode()那个rtp[]数组就像这样:

<?php
/* $_GET['rtp']  will look like this before implosion:
array(
    0 => FromCity,UT
    1 => ToCity,CA
    ) 
*/

// You need to pre-append the adr. value to both strings by looping array
foreach($_GET['rtp'] as $value) {
        $_rtp[] =   "adr.'".$value."'";
    }
/* Now $_rtp looks like this:
array(
        0 => adr.'FromCity,UT'
        1 => adr.'ToCity,UT'
    )
*/

// Now implode this new array with "~"
// You could assign a new variable to the implode, but if you wanted to,
// you could override the same $_GET['rtp'] variable with it's imploded self.

$_GET['rtp']        =   implode("~",$_rtp);

// Now the $_GET['ftp'] = adr.'FromCity,UT'~adr.'ToCity,UT'
?>

答案 1 :(得分:1)

使用javascript / jquery

$('form').submit(function(){
//do your actions here


$('input[name=rtp]').value()

return false; // prevents submit by default action.
});