我有一些代碼很適合保存到數據庫等。我現在想要做的是在字段保存後,我想要回顯的最後一個id被填充到隱藏字段,所以我可以使用確定任何未來的插入/更新查詢。如何在成功的ajax發佈後設置隱藏字段的值?
我的形式是:
<div id="formHolder">
<form type="post" action="add_room.php" id="mainForm">
<label for="itemName[]">Item</label>
<input type="text" name="itemName[]">
<label for="itemPhoto[]">Item</label>
<input type="text" name="itemPhoto[]">
<input type="hidden" name="hiddenId[]" value="">
<div class="save">Save Item</div>
</form>
</div>
我jQuery是:
<script>
$(document).ready(function() {
$('body').on('click', '.save', function(e) {
var string = $(this).closest('form').serialize();
$.ajax({
type: "POST",
url: "add_room.php",
data: string,
cache: false,
success: function(data){
$('#message').text('The id of the inserted information is ' + data);
}
});
});
});
$(document).ready(function(){
$('#addForm').on('click', function(){
$('<form><label for="itemName[]">Item</label><input type="text" name="itemName[]"><label for="itemPhoto[]">Photo</label><input type="text" name="itemPhoto[]"><input type="hidden" name="hiddenId[]" value=""><div class="save">Save Item</div></form>').fadeIn(500).appendTo('#formHolder');
});
});
</script>
,最後我的PHP是:
<?PHP
include('dbConfig.php');
$item = $_POST['itemName'];
$photo = $_POST['itemPhoto'];
foreach($item as $key => $val) {
if ($stmt = $db->prepare("INSERT test (test_title, test_desc) VALUES (?, ?)"))
{
// Use an s per variable passed to the string, example - "ss", $firstname, $lastname
$stmt->bind_param("ss", $val, $photo[$key]);
$stmt->execute();
$stmt->close();
echo $db->insert_id;
//echo "success";
}
// show an error if the query has an error
else
{
echo "ERROR: Could not prepare SQL statement.";
}
}
?>
一切工作很好地添加字段的數據到數據庫中,添加額外的字段等我只是不能得到它來保存每個Ajax帖子的回聲ID保存到隱藏的領域,但它保存它的#message div沒有問題。有任何想法嗎?我曾嘗試使用.val();但它沒有工作,我難倒
安迪
嘿,謝謝你的回答。我有代碼 - 成功:function(data){('#message')。文本('插入的信息的ID是'+數據); } 現在,因爲我使用$(this)來提交最接近.save DIV我需要它只有唯一的隱藏字段更新的形式。那麼我會做類似的事情嗎? 成功:功能(數據){ $(this).closest(「[type = hidden])。val(data); } –
我已經要求您對上述代碼的回覆,我需要知道它是否會工作。它需要顯示這個返回的ID在隱藏領域肯定。我不能接受一個答案,如果它不會完全按照我需要的方式 –
一個更多的想法,因爲你設置$(這)它不會工作在成功函數 –