Jquery submit form, а затем показать результаты в существующем div
У меня есть простая текстовая форма ввода, которую при отправке нужно получить php файл (передавая входы в файл), а затем взять результат (просто строку текста) и поместить его в div
и вытереть, что div
в поле зрения.
Вот что у меня есть сейчас:
<form id=create method=POST action=create.php>
<input type=text name=url>
<input type="submit" value="Create" />
<div id=created></div>
Мне нужны результаты create.php?url=INPUT
, которые будут динамически загружаться в div
, называемый created
.
У меня есть форма jquery script, но я не смог заставить ее работать правильно. Но у меня есть библиотека, загруженная (файл).
Ответы
Ответ 1
Этот код должен это сделать. Вам не нужен плагин Form для чего-то простого:
$('#create').submit(function() { // catch the form submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: $(this).attr('method'), // GET or POST
url: $(this).attr('action'), // the file to call
success: function(response) { // on success..
$('#created').html(response); // update the DIV
}
});
return false; // cancel original event to prevent form submitting
});
Ответ 2
Это также работает для загрузки файлов
$(document).on("submit", "form", function(event)
{
event.preventDefault();
var url=$(this).attr("action");
$.ajax({
url: url,
type: 'POST',
dataType: "JSON",
data: new FormData(this),
processData: false,
contentType: false,
success: function (data, status)
{
$('#created').html(data); //content loads here
},
error: function (xhr, desc, err)
{
console.log("error");
}
});
});
Ответ 3
Вы должны использовать AJAX для отправки формы, если вы не хотите обновлять страницу.
$('#create').submit(function () {
$.post('create.php', $('#create').serialize(), function (data, textStatus) {
$('#created').append(data);
});
return false;
});