簡體   English   中英

HTML表單提交-Ajax生成的下拉值未發送

[英]Html form submit - ajax generated dropdown values not sent

我有一個嵌入在html / smarty模板代碼中的表單。 表單內有一個下拉框,其中包含從數據庫填充的選項。 如果更改選項,它將使用ajax通過onChange事件調用php腳本,該ajax創建/填充2個其他下拉列表。 這部分工作正常,但是如果您提交了整個表單(涉及原始下拉菜單和另外兩個動態創建的表單),則在有2個動態創建的下拉菜單的情況下,盡管鍵值對位於內部,但它們根本不會發送到瀏覽器換句話說,它僅發送包含模板本身的值,而不發送通過ajax生成到“ txtHint1”中的值。

n

html /模板形式:

<table border="0" width="600">
<tr>
<form name='form1' id='form1' method='get' action=''>
<td width="80"><h4><b>Source 1:</b></h4></td>
<td>
<select name='host_selection' onChange="showDatet(this.value,'txtHint1')">
{foreach from=$hostlist item="entry"}
<option value={$entry.host}>{$entry.host}</option>
{/foreach}
</select>
</td>
<td>
<div id="txtHint1">
</div>
</td>
</tr>
<tr>
<td>
<button type='submit' name='Submit'>COMPARE!</button>
</td>
<td>
<input type='hidden' name='op' value='hid' />
</td>
</form>
</tr>
</table>

通過ajax調用的php代碼的一部分:

echo "<select name='datet_selection" . $fieldID . "'>Test</option>";
foreach ($x->sql->record as $temp) {
    echo "<option value='" . $temp['datet'] . "'>" . $temp['datet'] . "</option>";
}
echo "</select>";   

這可能無法解決整個問題,但是您動態渲染的下拉列表似乎格式不正確。 更改:

echo "<select name='datet_selection" . $fieldID . "'>Test</option>";

echo "<select name='datet_selection" . $fieldID . "'><option>Test</option>";

我認為您還需要一個...因此,您需要:

echo "<select name='datet_selection" . $fieldID . "'><option>Test</option></select>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM