我遇到了一个问题,我成功地以mywebsite.com/contact/?product=VAR1的形式将 URL 变量从一个页面设置到另一个页面,并且它将在第二页上用我的简单的代码。
第一次使用很好,但之后的任何事情都不是。变量没有被清除/重新读取/重置有问题。URL 栏甚至在 URL 栏中读取良好 mywebsite.com/contact/?product=VAR2以便第一部分工作。
但是一旦存储了 VAR1,代码就不想获取 VAR2 部分。一旦加载一次,它就会不断重新显示 VAR1。
<?php echo htmlentities($_GET['product']); ?>
如果它有所作为,我将成功地在 jQuery 值更改器中显示?product=信息:
$(".input-text").val('<?php echo htmlentities($_GET['product']); ?>');
我已经尝试过自己的解决方案,例如放入unset($product); 在最后一个?>之前,但无济于事。
我对 PHP/jQuery 的了解有限,并且想使用这种设置/抓取变量的方式,因为它很简单。我在 jQuery 中使用它,因为它可以使用传递的这个变量重写确切的表单输入框值,并成功地将它发送到我的 CMS 的联系表单中。
------------------------ 更新:添加代码 ---------- --
(我只是在逻辑上显示我能想到的所有代码)
#1:在 URL 中设置变量。第一个 echo getURL 显示 url,我添加我的 ?product= 然后它获取项目名称。这一切都很好。
<a href="<?php echo Mage::getURL('webforms/index/index/id/2') ?>?product=<?php echo $_product->getName(); ?>">
#2:我的表单是在我的 CMS 中设置的。它有一个特殊的类,所以我可以在我的 jQuery 中准确地选择它。我无权访问所有这些,它是由 CMS 生成的。目的很明显是通过这个变量让选定的产品被记住,并在联系表中服务。
<div class="field webforms-fields-enquiryfield">
<label for="field_20">
Product in Enquiry
</label>
<div class="input-box">
<input type="text" name="field[20]" id="field[20]" class="input-text" style="" value="">
</div>
</div>
#3:现在我的显示区域和&变量都设置好了,我们使用jQuery将变量插入到输入文本表单的实际值中。我这样做是因为在我的 CMS 中我无法简单地添加它。我必须使用 jQuery 来替换文本(无论如何都是空框)。
$(".webforms-fields-enquiryfield .input-text").val('<?php echo htmlentities($_GET['product']); ?>');
希望这更有意义。