我有一個選擇對象的窗體。選項是使用mySQL DB中的PHP生成的。我也有一個'新'選項可用。如果用戶選擇「新建」,我正在使用jQuery - replaceWith函數將選擇對象更改爲輸入類型=「文本」對象。jQuery替換INPUT對象後PHP表單不工作
這一切都很好,除了在提交表單後PHP $ _POST ['description'] [0]爲空。爲什麼會這樣呢?下面我複製了一個選擇對象和jQuery的快照。
的jQuery:
$(function() {
$('select#description').change(function() {
if ($(this).val() == 'new')
var x = $(this).attr('name');
$(this).replaceWith('<input type="text" name="description" id="description">');
$('input#description').attr('name', x);
$('input#description').attr('id', x);
});
});
HTML/PHP:
<td>
<select id='description' name='description[$i]'>
<option value=''></option>
<option name='[$i]' value='new'>new</option>";
echo $list = $this->desc_list();
echo " </select>
</td>
這就是我要找的輸出:
<select id='description' name='description[0]'>
<option value></option>
<option value='new'>new</option>
<option value='1'></option>
</select>
當值= '1'沒有描述,因爲當PHP保存最後一個條目時它是空的。一旦用戶選擇「新」的代碼更改選擇對象是:
<input type='text' name='description[0]' id='description[0]'>
下一頁代碼可以是簡單的像
echo $_POST['description'][0]
但它不會迴應什麼是在文本框中鍵入。爲什麼最後一項是空的?
如果HTML/PHP能顯示輸出嗎?你給的是代碼本身.. – thedjaney
var_export($ _ POST)是什麼意思?那裏有什麼與'description'相關的東西? – Oswald
對不起,我不知道如何使用'var_export($ _ POST)'我只知道,一旦我點擊提交併要求PHP回顯$ _POST它顯示爲空,可能這是因爲PHP無法識別輸入,因爲它是由jQuery取代? – user3168144