0

我有一个选择半径的搜索表单,我使用在线 api 搜索邮政编码。如果输入,api 会自动提交输入,但在提交后我更改了半径,我必须再次输入邮政编码,否则不会发送新数据。

我想知道是否可以在选择半径更改时刷新邮政编码的输入。

我的搜索表单:

<form name="input" method="post" action="searchresults" class="pro6pp_range">
<input type="search" onchange="validate()" placeholder="Zoeken..." name="search" size="85">
<input type="search" name="searchpc" required="required" class="postcode" value='<?= $postcode ?>' placeholder="Postcode (1234)" maxlength="4">
    <select id="selection" class="range" onchange="updateInput(this.value)">
        <option value="5">5 km</option>
        <option value="10">10 km</option>
        <option value="15">15 km</option>
        <option value="20">20 km</option>
        <option value="50">50 km</option>
      </select>
    <input type="submit" value="Zoeken">
    <br/>
    <span class="message"></span>       

    <span class="output"></span>
    <br/>
</form>

我试过这个,但没有奏效:

    function updateInput(searchpc){
        document.getElementByName("searchpc").value = <?php echo $postcode ?>;
    }

还要注意我的选择框上的 onChange 函数。

4

2 回答 2

1

可能会奏效

function updateInput(searchpc){
    document.getElementByName("searchpc").value = searchpc;
}

searchpc 是您选择标签的“this.value”。

请让我知道它是否有效。

更新

你输入 9101 然后如果你选择 10km 然后你可以发布这样的表格

function updateInput(searchpc)
{ 
    document.input.submit();
}

所以我们将在搜索结果页面中同时获得 9101 和 10km。

新更新

我认为您的小框输入表单应该如下所示。

<form name="small_input" action="searchresults" method="post">  
<input type="text" placeholder="Postcode" size="25" name="postcode"/>
<select name="radius" class="range" onchange="updateInput(this.value)">
    <option selected="" disabled="">Afstand</option>
    <option value="5">5</option>
    <option value="10">10</option>
    <option value="15">15</option>
    <option value="20">20</option>
    <option value="25">25</option>
</select> 
<br><br>
<hr>
<br>
    <p style="float: right"><input type="submit" value="Opslaan"></p>
    <input type="hidden" value="true" name="submitted">
    <input type="hidden" value="true" name="afstand">   
</form>

请让我知道什么是状态。

于 2013-06-21T11:00:12.783 回答
0

据我所知getElementsByName,将返回一个array.

所以尝试使用id代替name

<input type="search" name="searchpc" id="searchpc" .... />

你的功能就像,

function updateInput(searchpc){
    document.getElementById("searchpc").value = searchpc;
    // I think it should be selected value from select box notphp value
}
于 2013-06-21T10:56:22.083 回答