Я использую готовый исходный код формы бронирования и хотел бы внести некоторые изменения в соответствии с нашими потребностями.
Я цитирую ниже исходный код, который важно увидеть, а не весь исходный код файла. Я хотел бы запустить mysqli_query
, как только будет нажата кнопка, для обновления переменных в базе данных. Итак, я пытаюсь использовать JQuery и AJAX, чтобы это произошло.
В приведенном ниже коде показана уже определенная кнопка Check Availability
, которая выполняет код Javascript, и я добавил также свою кнопку «Забронировать», и я хотел бы запустить также свой код. См. Код ниже:
<form id = "bsSearchForm_<?php echo $_GET['index'];?>" action = "<?php echo PJ_INSTALL_URL; ?>index.php?controller=pjFront&action=pjActionCheck" method = "post" >
<div class = "row ">
<div class = "col-lg-6 col-md-6 col-sm-6 col-xs-6 col-xss-12">
<div class = "form-group">
<label for = "address">Pickup Address</label>
<input type = "text" class = "form-control" name = "pickup" placeholder = "Enter a location">
</div>
</div>
<div class = "form-group pjBsFormActions">
<button type = "submit" class = "btn btn-primary"><?php echo("Check Availability"); ?></button>
<button type = "submit" class = "btn btn-primary" onclick = "checkClicked()"><?php echo("Book Now"); ?></button>
</div><!-- /.form-group pjBsFormActions -->
</div>
</form>
Теперь в том же самом php-файле в начале я определил этот исходный код:
<script>
function checkClicked() {
$.ajax({
url: "test.php",
type: 'POST',
dataType: 'html'
});
}
</script>
Итак, я хотел бы запустить свой собственный исходный код PHP во внешнем файле php, таком как test.php
, получить данные поля ввода из «самовывоза» и выполнить mysqli_query
в базе данных.
Однако код у файла test.php
вообще не выполняется. Думаю, что проблема в параметре действия формы <?php echo PJ_INSTALL_URL; ?>index.php?controller=pjFront&action=pjActionCheck
. Как мне найти этот файл (много исходных файлов) и, возможно, поместить туда исходный код?
Или мне нужно определить новую кнопку по-другому, чтобы я мог вызывать свой собственный PHP-файл в любом каталоге?
Параметр URL AJAX должен быть относительным или абсолютным путем к файлу test.php
? Где мне создать файл test.php
в моих каталогах?
Пожалуйста, помогите мне найти быстрое решение моей проблемы.
Это очень легко и просто
1. Создайте html-страницу вида.
<form id = "sample">
//some thing here....
<input type = "submit" class = "btn btn-success" name = "submit" value = "Create" id = "sample">
</form>
2. Создайте такую страницу Js.
//click function
$("#sample").click(function(event) {
sample();
});
//ajax function here
function sample(){
$.ajax({
url: '/path/to/file',
type: 'GET/POST',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {
param1: 'value1'
},
success:function(result){
alert(result);
}
})
.done(function() {
console.info("success");
})
.fail(function() {
console.info("error");
})
.always(function() {
console.info("complete");
});
}
3. Создайте файл сценария php.
добавьте фактический путь в каталог, например, если вы используете localhost пример: public / script / test.php, тогда путь ajax - ../script/test.php
4. ссылка javascript на страницу html, например
пример:
<script type = "text/javascript" src = "sample.js"></script>
Да, это именно то, что я использую в своем приложении
Разместите здесь свой код или конкретную часть, чтобы нам было легко дать решение
вам нужно создать test.php в том же каталоге, где создан файл вашей формы.
Если у вас есть кнопка отправки, форма будет отправлена с действием, которое вы определили, а не с событием onclick. Чтобы это сработало, вам нужно просто заменить его на
<button type = "button"
Хотя ваше решение кажется очень логичным ..... оно не работает до сих пор. Код для события щелчка кажется, что либо ОС не вызывается вообще, либо событие нажатия кнопки не совпадает с кодом Javascript. Вы уверены, что объявление для кнопки должно быть примерно таким <input type = "submit" class = "btn btn-success" name = "submit" value = "Create" id = "sample"> ??