Форма автозаполнения при нажатии на ссылку - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть эта веб-страница. У этого есть страница, названная "services.php". У меня есть несколько кнопок (из классов), которые относятся к разным «пакетным» ценам, которые я предлагаю.

Я хочу, чтобы ссылки с надписью «Выбрать» автоматически заполняли форму на другой странице или, альтернативно, во всплывающей форме на странице. Я не знаю, как это объяснить, но как можно короче:
При нажатии на ссылку заполняется форма автозаполнения (на этой или другой странице) с типом пакета, который они выбрали. Только автозаполнение текста

Ответы [ 6 ]

0 голосов
/ 11 июня 2019

Я несколько раз сталкивался с одной и той же проблемой, поэтому мне пришлось написать собственный сценарий, чтобы сделать это.Она называется Autofiller и довольно проста, но отлично справляется с работой.

Вот пример

http://example.com/?autofiller=1&af=1&pof=package&package=package1

Так что в основном требуется несколько параметров дляinit скрипт:

autofiller=1 - init AutoFiller

af=1 - автозаполнение после загрузки страницы

pof=package - найти родительский элемент form дляselect с атрибутом имени package.Работает также с input элементами формы.

package=package1 - установит значение элемента select в package1

Надеюсь, это поможет вам!:)

0 голосов
/ 11 июня 2011

Я просто сделал это сам. Мое решение было с JQuery. Просто назначьте идентификатор вашей ссылке. Первый идентификатор в коде - это идентификатор ссылки, а второй - идентификатор элемента ввода, который вы хотите заполнить.

Вот скрипт:

 <script>

   $(document).ready(function() {

    $('#link_id').click(function() {
        $('#input_id').val( $(this).text() ).keyup();
         return false;
     });

   });

 </script>

Надеюсь, что это работает!

0 голосов
/ 02 декабря 2010

если я понял вашу проблему, вы хотите заполнить некоторые поля ввода информацией, когда пользователь нажимает на некоторые ссылки

я могу придумать 2 способа сделать это: либо ссылки указывают на страницу, напримерservices.php? req = package1 (или любой другой URL-адрес, который вы хотите) и на этой странице создайте поля ввода с необходимой вам информацией (установите значения по умолчанию в полях с теми, которые вы хотите), или используйте javascript, чтобы изменитьзначения форм без изменения фактической страницы (либо через ajax, либо через предопределенные значения)

для javascript вы можете использовать фреймворк jQuery, у него довольно обширное сообщество энтузиастов и множество примеров, с которых можно начать работу.

пример для вашего случая:

$('#btn1').bind('click', function() {
  $('#input1').val("value");
  $('#input2').val("value2");
});

замените btn1 идентификатором первой вашей кнопки или ссылки, input1 - идентификатором первого ввода в вашей форме, изначение со значением, которое вы хотите

0 голосов
/ 02 декабря 2010

Вы можете сделать что-то вроде этого:

<select id="packages">
  <option value="package1">Package 1</option>
  <option value="package2">Package 2</option>
</select>

<a href="javascript:submitPackage();">Submit</a>

При нажатии на ссылку будет отключен следующий javascript:

function submitPackage()
{
  var package = $("#package").val();
   window.open("http://your-site.com/some-script.php?package=" + package);
}

Приведенное выше откроет всплывающее окно длястраница, подобная этой:

http://your-site.com/some-script.php?package=package1

В some-script.php вы будете делать что-то вроде этого:

You selected the package: <b><?php echo $_GET['package'];?></b>.

Или:

<?php
//Put the packages in an array:
$packages = array();
$packages['package1'] = 'Package 1';
$packages['package2'] = 'Package 2';
//...
?>   

<select id="package">
 <?php foreach ($packages as $name => $text):?>
   <? $selected = ($name == $_GET['package']) ? 'selected' : '';?>
    <option value="<? php echo $name;?>" <?php echo $selected;?>> 
       <?php echo $text;?>
   </option>
 <? endforeach;?>
</select>

Вышеавтоматически выберет пакет, который они выбрали, в раскрывающемся списке.

0 голосов
/ 02 декабря 2010

Это заполнит поля формы всем, что вы передадите в функцию autoFill (). Это будет та же страница пример.

<html>
<body>

    <form>
        <input type="text" id="packageDescription">
        <input type="text" id="packagePrice">
    </form>

    <script>

        function autoFill(packageDescription, packagePrice) {

            document.getElementById('packageDescription').value = packageDescription;
            document.getElementById('packagePrice').value = packagePrice;

        }

    </script>

    <a href="#" onClick="autoFill('Premium Package', 150); return false;">Premium Package</a><br>
    <a href="#" onClick="autoFill('Platinum Package', 350); return false;">Platinum Package</a>

</body>
</html>
0 голосов
/ 02 декабря 2010

То, что вы, похоже, спрашиваете, это «загрузка» страницы, предварительно заполненной определенной информацией, вы можете сделать это несколькими способами, используя javascript (например, jQuery). Или используя ваш PHP, создайте ссылки, которые передают переменные (например, флаг или ссылку для предварительного заполнения полей - если вы хотите всплывающее окно или следующую страницу и т. Д.).

Ваш URL хотел бы получить следующую кнопку для кнопки, которую нажимает пользователь (кнопка будет простой http-ссылкой):

http://mywebsite.com/prefill.php?user=bob&package=2

Это будет иметь значения bob в качестве пользователя, который его запрашивает (здесь также можно указать идентификатор для информации о пользователе), и package=2 для обозначения параметров пакета.

Тогда на странице prefill.php у вас будет что-то, что проверяет:

$user = $_GET['user'];
$package = $_GET['package'];

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...