Мне сложно учиться использовать ajax и jquery, чтобы опубликовать кнопку без перезагрузки страницы. Конкретно: форма по-прежнему перезагружает страницу, и никакие переменные не обновляются.Ajax jquery php post beginner
Вот код, которым я спотыкаюсь.
Что я использовал до того, как попытался JQuery/AJAX. Просто php
// $_POST['selected_dir'] is set when you click on a folder or link within the explore(r).php
if (isset($_POST['selected_dir']))
{
// last selected folder/directory
$current_dir = $_POST['selected_dir'];
// current_dir is the folder we are looking inside of.
// we make it a $session so that if we click a different submit (RELOAD)
// within the page it will remember $current_dir;
$_SESSION['selected_dir'] = $current_dir; //
}
else // if $_post isint set but $_session is
if (isset($_SESSION['selected_dir']))
{
$current_dir = $_SESSION['selected_dir'];
}
else
{
// default folder/directory
$current_dir = "$root"; //'D:\Hosting\538\html';
}
<form action='explore.php' method='post'>
<input type='image'
src='$folder_icon'
alt='Submit'
name=''
value='submit'/>
<input type='hidden'
value='$f_path/$value'
name='selected_dir'/>
<input type='submit'
value='$value'
name='$value'
class='submit_into_link'/>
</form>
так, чтобы отлично работать, за исключением случаев, когда вы нажимаете изображение или ссылку, которую перезагружает страница. Я, наконец, пришел к выводу, что мне нужно использовать jquery и ajax, и я даже не использовал javascript до сих пор. Ive читал через учебники и я не могу действительно соединить точки, чтобы сделать эту работу
Я есть это в моем заголовке
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
У меня есть это в верхней части моей страницы в теле
$.ajax
({
type: 'POST',
url: 'explore_be.php',
data: data, success:
success function(data, textStatus, jqXHR),
complete: function(),
dataType: dataType
});
У меня есть несколько вопросов о коде выше. Я не уверен, как его использовать. Нужно ли мне помещать этот код ajax внутри функции onclick? Кажется, что некоторые примеры рассмотрены в jquery в jQuery.
$(document).ready(function()
{
$(".flip").click(function() // this is a piece of code i got from w3schools.com
});
.flip выше - это класс. Я видел, что они используют кнопку, когда говорят о
<button>
но как насчет кнопки в форме с определенным идентификатором ввода? Или я должен просто добавить к форме ввод onclick = "clicked()", а затем добавить ajax в эту функцию? Требуется ли ajax в $ (document) .ready (function())?
Что мне следует указать для типа данных?
Я поместил свой PHP-код в файл expl_be.php.
explore_be.php
// $_POST['selected_dir'] is set when you click on a folder or link within the explore(r).php
if (isset($_POST['selected_dir']))
{
// last selected folder/directory
$current_dir = $_POST['selected_dir'];
// current_dir is the folder we are looking inside of.
// we make it a $session so that if we click a different submit (RELOAD)
// within the page it will remember $current_dir;
$_SESSION['selected_dir'] = $current_dir; //
}
else // if $_post isint set but $_session is
if (isset($_SESSION['selected_dir']))
{
$current_dir = $_SESSION['selected_dir'];
}
else
{
// default folder/directory
$current_dir = "$root"; //'D:\Hosting\538\html';
}
Это все есть в коде позади страницы?
Я изменил свои формы, чтобы не было никаких действий, но добавил onclick. Они все еще перезагружают страницу. Что мне нужно сделать для ввода форм, чтобы остановить это?
Моя новая форма выглядит следующим образом
<form action='' method='post'>
<input type='image'
src='$folder_icon'
alt='Submit'
name=''
onclick='clickity()'
value='submit'/>
<input type='hidden'
value='$f_path/$value'
name='selected_dir'/>
<input type='submit'
value='$value'
name='$value'
onclick='clickity()'
class='submit_into_link'/>
</form>
Любая помощь очень ценится.
Мне больше всего нравится этот пример. Это имеет для меня наибольший смысл, но все же помещает что-либо в поле действия, за исключением того, что Jonur предложил «javascript :;» похоже, перезагружает страницу. Когда я использовал ваш пример, включая return false; и удалив onlcick, он все еще перезагружает страницу. Кстати, вы думаете, мне нужно обернуть код за php в какую-то функцию java, чтобы получить переменные? – user1331963
Также эта функция отправки формы должна находиться внутри $ (document) .ready (function())? – user1331963
нет, он не обязательно должен быть внутри документа готов. также проверить обновленный код –