Я работаю над генератором нижнего колонтитула. который выглядит следующим образом: Отправить страницу, но не обновить
Эта кнопка «Предварительный просмотр» имеет 2 функции функция 1 является размещение значения, которые пользователь ввел в черный ящик, как это:
и вторую функцию чтобы показать мне кнопку (которая скрыта по умолчанию с помощью CSS) под названием «кнопка-форма контроля генерировать» с JQuery, как это:
$("button.form-control").click(function(event){
$("button.form-control-generate").show();
});
N ow здесь приходит моя проблема:
Если я нажму на предварительный просмотр, он обновит страницу .. поэтому, если я нажму на предварительный просмотр, она отобразит скрытую кнопку примерно на 1 секунду, после чего обновит страницу, и кнопка вернется к скрытому. Поэтому я попытался удалить type="submit"
, но если я сделаю это, то он не опубликует введенные данные, как это было на изображении 2, но покажет скрытую кнопку, но поскольку тип отправки ушел, он не отправит введенные данные в черный ящик.
Вот мой код:
<form class ="form" method="post">
<h3>Select your trademark</h3>
<select class="form-control" name="trademark" action="">
<option></option>
<option>©</option>
<option>™</option>
<option>®</option>
</select>
<h3>Your company name</h3>
<input class="form-control" type="text" name="companyName" placeholder="Your company name" />
<br/>
<br/>
<button class="form-control" type= "submit" name="submit">
Preview
</button>
<br/>
<button class="form-control-generate"name= "submit">
Generate
</button>
</form>
<!-- script for the preview image -->
<div id = "output">
<?php
function footerPreview()
{
date_default_timezone_set('UTC');
$trademark = $_POST["trademark"];
$company = $_POST["companyName"];
$date = date("Y");
echo "<div id='footer_date'>$trademark $date $company </div>";
}
footerPreview();
?>
JQuery:
$("button.form-control").click(function(event){
$("button.form-control-generate").show();
});
Уже пытались предотвратить дефолт, но если я сделать это пользователи Введенные данные не показывает в окне предварительного просмотра. Похоже, preventdefault останавливает это немного от работы:
<!-- script for the preview image -->
<div id = "output">
<?php
function footerPreview()
{
date_default_timezone_set('UTC');
$trademark = $_POST["trademark"];
$company = $_POST["companyName"];
$date = date("Y");
echo "<div id='footer_date'>$trademark $date $company </div>";
}
footerPreview();
?>
Я слышал, что это возможно с помощью AJAX, но я понятия не имею, как в этом случае я уже пытался искать в Интернете ..
В общем случае вы должны использовать jQuery '$ .ajax()' функция, чтобы отправить форму из кода, не обновляя страницу. Тогда ответ, полученный в коде, будет использоваться, но вам нужно его использовать. Если ответом являются данные JSON, вы должны использовать эти данные для обновления элементов на странице. Если ответом является HTML, вы, вероятно, замените существующие элементы страницы на новые. – David
Попробуйте ajax. Он отправляет вашу форму без обновления страницы. Также у вас нет действий для вашей формы. – meen
Да ajax - это душа ... здесь очень хорошее введение: http://www.w3schools.com/xml/ajax_intro.asp ... попытайтесь понять это и попытайтесь найти решение, если вы не можете тогда вернитесь и разместите свой код с помощью части ajax, поэтому мы вам поможем. – Twinfriends