按下链接时自动填充表单

时间:2010-12-02 14:05:12

标签: php forms select hyperlink

我找不到任何问题的答案,因为我不知道我在问什么......所以我希望有人能理解我的问题! :)

我有这个网页。它有一个名为“services.php”的页面。我有几个按钮(由类组成),属于我提供的不同“包”价格。

我希望说“选择”的链接在另一个页面中自动填充表单,或者在页面的弹出窗口中自动填充表单。 我真的不知道怎么解释它,但尽可能短:
当链接被按下自动填充表单(在此页面或其他页面中)时,它们选择的包类型。只有文字自动填充

希望有人明白我的要求! :)

谢谢,谢谢,谢谢! ^^

6 个答案:

答案 0 :(得分:0)

您似乎要问的是“加载”预先填充了特定信息的页面,您可以通过多种方式执行此操作,方法是使用 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'];

希望有所帮助

答案 1 :(得分:0)

这将使用您传递给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>

答案 2 :(得分:0)

你可以这样做:

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

以上内容将自动选择他们在下拉框中选择的包。

答案 3 :(得分:0)

如果我理解了您的问题,您希望在用户点击某些链接时填写一些包含信息的输入字段

我可以想到两种方法:要么链接指向像services.php?req = package1(或任何其他你想要的网址)这样的页面,要么在该页面上生成包含所需信息的输入字段(在字段中设置您想要的默认值),或者使用javascript更改表单的值而不更改实际页面(通过ajax或预定义值)

对于javascript你可以使用jQuery框架,它有一个非常广泛的爱好者社区和大量的例子来帮助你开始使用它。

您的案例的例子是

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

将btn1替换为您拥有的第一个按钮或链接的id,将input1替换为表单中第一个输入的id,将值替换为您想要的值

答案 4 :(得分:0)

我自己就是这么做的。我的解决方案是使用jQuery。只需为您的链接指定一个ID即可。代码中的第一个ID是链接ID,第二个ID是您要填充的输入元素的ID。

这是脚本:

 <script>

   $(document).ready(function() {

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

   });

 </script>

希望它有效!

答案 5 :(得分:0)

我已经多次遇到相同的问题,因此我必须编写自己的脚本来执行此操作。它叫做Autofiller,它很简单,但是做得很好。

这是一个例子

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

因此,基本上,需要几个参数来初始化脚本:

autofiller=1-初始化自动填充器

af=1-页面加载后自动填充

pof=package-查找form的父select元素,其名称属性为package。也可以与input表单元素一起使用。

package=package1-将select元素的值设置为package1

希望它对您有帮助! :)