[英]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.