簡體   English   中英

按下鏈接時自動填寫表格

[英]Autofill form when link is pressed

我有這個網頁。 它有一個名為“ services.php”的頁面。 我有幾個按鈕(由類組成),屬於我提供的不同“包裝”價格。

我希望顯示“選擇”的鏈接自動在另一個頁面中填充表單,或者在頁面的彈出窗口中替代表單。.我真的不知道如何解釋它,但是要盡可能簡短:
當按下鏈接時,自動填充表格(在此頁面或其他頁面)及其選擇的包裝類型。 僅文字自動填充

您似乎要問的是“加載”預先填充有特定信息的頁面,您可以通過多種方式來實現此目的,或者利用javascript (例如jQuery)。 或使用您的PHP,建立傳遞變量的鏈接(例如,如果要彈出窗口或下一頁等,請使用標志或引用來預填充字段)。

您的網址想要用戶按下的按鈕的以下內容(按鈕將是一個簡單的http鏈接):

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

請求的用戶將具有bob值(您也可以在此處引用用戶信息的ID),以及package=2來指定您的軟件包選項。

然后在prefill.php頁面上,您將檢查以下內容:

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

希望能有所幫助

這將使用傳遞給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>

您可以執行以下操作:

<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>

上面的內容將在下拉框中自動選擇他們選擇的軟件包。

如果我了解您的問題,則當用戶單擊某些鏈接時,您想在某些輸入字段中填充信息

我可以想到2種方法:要么使鏈接指向諸如services.php?req = package1之類的頁面(或您想要的任何其他url),然后在該頁面上生成包含所需信息的輸入字段(設置字段中包含您想要的默認值),或者使用javascript更改表單的值而無需更改實際頁面(通過ajax或預定義值)

對於javascript,您可以使用jQuery框架,它有一個相當廣泛的發燒友社區,並提供了許多示例來幫助您開始使用它。

您的情況的一個例子是

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

將btn1替換為您擁有的第一個按鈕或鏈接的ID,將input1替換為表單中第一個輸入的ID,並將value替換為所需的值

我已經多次遇到相同的問題,因此我必須編寫自己的腳本來執行此操作。 它被稱為自動填充程序 ,非常簡單,但是卻做得很好。

這是一個例子

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

因此,基本上,需要幾個參數來初始化腳本:

autofiller=1初始化AutoFiller

af=1頁面加載后自動填充

pof=package查找帶有名稱屬性packageselect的父form元素。 也可以與input表單元素一起使用。

package=package1select元素的值設置為package1

希望對您有幫助! :)

我只是自己做的。 我的解決方案是使用jQuery。 只需為您的鏈接分配一個ID。 代碼中的第一個ID是鏈接ID,第二個是您要填充的輸入元素的ID。

這是腳本:

 <script>

   $(document).ready(function() {

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

   });

 </script>

希望它能起作用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM