我正在尝试创建一个表单,该表单可以让用户从他们输入的位置指向预定义的位置。我正在使用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点,但没有定义的点
如果我正在尝试做的是可能的帮助表示赞赏!
答案 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.
});