-1
希望有人可以幫助使用此代碼。我有一個PHP文件與foreach循環來從MySQL數據庫中獲取數據。當用戶點擊php文件中的更新時,這個JS腳本被調用。我正在使用「this」來獲取單個值。我遇到的問題是沒有任何東西傳遞給JS腳本。將Foreach數據從PHP傳遞到Ajax
這裏是PHP代碼,PHP代碼在使用echo語句進行測試時工作正常。
<?php
$artist_about_already = artist_news_check($artist_id);
if ($artist_about_already == true) {
$artist_news = (get_artist_news_all($artist_id));
foreach ($artist_news as $news) {
$news_id = $news['id'];
$timestamp = $news['timestamp'];
$title = $news['title'];
$news = $news['news'];
$news_timestamp = date('D M d Y @ h:i:s', $timestamp);
?>
<div class="well no-padding">
<form action="" method="post" name="artist_update_news" id="artist_update_news" class="smart- form client-form">
<fieldset>
<section>
<strong>Posted on: <?php echo $news_timestamp ?></strong>
<label class="input"> <i class="icon-append fa fa-user"></i>
<input type="text" name="artist_update_news_title" id="artist_update_news_title" value="<?php echo $title ?>">
<b class="tooltip tooltip-bottom-right">Needed to update Artist News</b> </label>
</section>
<section>
<label class="textarea">
<textarea rows="5" maxlength="2000" name="artist_edit_news" id="artist_edit_news"><?php echo $news ?></textarea>
</label>
</section>
<input type="hidden" name="hiddenId" id ="hiddenId" value="<?php echo $news_id; ?>">
</fieldset>
<footer>
<button type="submit" class="btn btn-success updateBtn" href="#artist_news.php" id="<?php echo $id ?>">
Update
</button>
</footer>
</form>
</div>
<?php
}
}
?>
當用戶單擊foreach語句中任何單個記錄上的更新時,將調用以下代碼。
runAllForms();
$(function() {
$("#artist_update_news").validate({
rules: {
artist_update_news_title : {
required : true
},
artist_edit_news : {
required : true
}
},
// messages for form validation
messages : {
artist_update_news_title : {
required : 'Please enter your News Heading'
},
artist_edit_news : {
required : 'Please enter your News'
}
},
errorPlacement : function(error, element) {
error.insertAfter(element.parent());
},
submitHandler: function() {
alert('in function');
var element = $(this);
var hiddenId = element.attr("hiddenId");
var artist_edit_news = element.attr("artist_edit_news");
var artist_update_news_title = element.attr("artist_update_news_title");
alert(hiddenId);
alert(artist_edit_news);
alert(artist_update_news_title);
$('#artist_update_news').hide(0);
$('#art_edit_news_message').hide(0);
$.ajax({
url : 'artist_edit_news.php',
type : 'POST',
dataType : 'json',
data: {
artist_update_news_title : artist_update_news_title.val(),
artist_edit_news : artist_edit_news.val(),
hiddenId : hiddenId.val()
},
success : function(data){
$('#art_edit_news_message').removeClass().addClass((data.error === true) ? 'error' : 'success')
.text(data.msg).show(500);
if (data.error === true) {
if (data.goto == 1) {
window.location = "http://dev.worldmusicstage.com/main.php#/ajax/artist_news.php";
$('#artist_update_news').show(500);
delete json;
}
else {
$('#artist_update_news').show(500);
}
}
if (data.error === false) {
window.location = "http://dev.worldmusicstage.com/main.php#/ajax/artist_news.php";
$('#artist_update_news').show(500);
delete json;
}
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#art_edit_news_message').removeClass().addClass('error')
alert('The error was: '+errorThrown);
alert('The error was: '+XMLHttpRequest);
alert('The error was: '+textStatus);
alert(errorThrown.stack)
$('#artist_update_news').show(500);
}
});
return false;
}
});
});
謝謝,我也的確讓修訂提交按鈕。該ID是錯誤的,我更新到$ news_id。但是,仍然沒有工作。 \t \t \t \t \t \t \t <按鈕類型= 「提交」 類= 「BTN BTN-成功updateBtn的」 href = 「#artist_news.php」 ID = 「<?PHP的echo $ news_id?>」> – 2014-09-05 03:16:54
感謝凱文。我對如何做到這一點感到困惑。如果我在表單ID中指定一個唯一的ID,那麼我該如何在腳本中指定該ID。當我循環遍歷foreach時,我可以將1,2,3,4等分配給唯一的ID而不是artist_update_news,但是如何在腳本中識別這個ID。或者我引用爲getelementbyid。謝謝你的幫助。格蘭特 – 2014-09-05 04:04:20