我有一個有兩個輸入的小反饋表。我想讓錯誤消息在使用JQuery的同一個div中追加到另一個。如果只有一條錯誤消息,錯誤消息會正常工作,但當我返回兩個json對象時,兩條消息不會同時顯示。是否有可能使用相同的鍵返回2個關聯數組到JQuery?如何將錯誤消息追加到同一個div?一切工作正常,除了如何顯示錯誤消息。從PHP返回兩個2 json對象
注:此程序是一個jQuery Mobile應用程序
PHP代碼
if (isset($_POST['submit'])) {
$email = $_POST['email'];
$feedback = $_POST['feedback'];
$errors = array();
if (filter_var($email, FILTER_VALIDATE_EMAIL) && !empty($email)) {
//Do something
} else {
$errors = "Invalid email.";
echo json_encode(array("error" => "{$errors}"));
}
if (!empty($feedback)) {
//Do something
} else {
$errors = "Feeback field can not be empty.";
echo json_encode(array("error" => "{$errors}"));
}
if (empty($errors)) {
//Database Insertion here
echo json_encode(array("success" => "Feedback submission successful."));
}
}
jQuery代碼
$(function() {
$('#contact_form').bind('submit', function(event) {
event.preventDefault();
$.post('includes/form.php', $(this).serialize(), function(data) {
if (data.error) {
$('.error').slideDown(100).html(data.error);
} else {
$('.error').hide();
$('.success').slideDown(100).html(data.success);
}
}, "json");
});
});
HTML表單代碼
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" id="contact_form" data-ajax="false">
<label for="email">Email:</label>
<input type="text" name="email" id="email" placeholder="Email">
<label for="feedback">Feedback:</label>
<textarea type="text" name="feedback" id="feedback" placeholder="Feedback"></textarea>
<input type="submit" name="submit" value="Submit Feedback" class="submit">
</form>
預先感謝您。
編輯:我感覺很傻。我忘了在PHP腳本中附加錯誤消息哈哈。謝謝所有回答的人。
JSON需要代表1個對象,當然你能想出辦法在一個物體的兩個錯誤消息。 – Musa
啊,我這麼認爲。然後我會把我的信息放入一個對象中。我只是想看看是否有可能返回多個對象。謝謝。 – Sephiroth