0

我有两页:

  1. 产品页面,其中包含产品,每个产品都有一个“给我们发送消息”链接;

  2. 联系页面,有一个包含四个元素的表单:姓名、电子邮件、主题和消息;

当我单击 products.html 页面中的“向我们发送消息”链接时,我希望 contact.html 中表单的“主题”元素的值成为产品的标题。

所以,如果我有一个标题为“BMW 530xd 2009”的产品,当我点击它下面的“给我们发消息”链接时,我想给我发送 contact.html 页面和表单的“主题”字段用“BMW 530xd 2009”自动完成。

我如何用 javascipt 做到这一点?

谢谢

4

3 回答 3

0

最好的方法是让字段已经设置了值,我不知道你在服务器端使用的技术......

无论如何,要使用 javascript 回答您的问题,您可以使用表单的处理程序onsubmit来完成这项工作

<form onsubmit="return fillProd(this)" ...
<input name="subject" ....

时不时地让服务器端为我们提供值会很好,但是可以使用 DOM 函数或 jquery(或类似的东西)从文档 DOM 中获取客户端的值

假设你有像这样的产品标题

<div class="prod-title" id="prodtitle">BMW 530xd 2009</div>

然后我们可以使用jquery获取值

$("#prodtitle").html

或使用 DOM

document.getElementById("prodtitle").innerHTML

使用 DOM 的函数示例

function fillProd(form) {
   form.subject.value=document.getElementById("prodtitle").innerHTML;
   return true;
}

注意:返回的表单处理程序和函数(returning true)非常重要

于 2012-06-17T11:10:59.360 回答
0

当有人单击所述链接时,您可以使用ajax在products.html页面中加载contact.html表单,然后如果您正确处理所有内容,您将能够更改值,因为据我所知,您无法更改表单值使用客户端语言从一页到另一页。

另一种选择是直接在 contact.html 中编写表单,其 css 属性为 display:none; 因此,当有人单击链接时,它会更改为 display:block; 在您的 javascript 中处理值更改。

希望这可以帮助。

于 2012-06-17T11:15:59.440 回答
0

像这样制作“发送消息”的链接:contact.html?subject=your_value_here

在contact.html上,您可以像这样检索值

if(location.search) {
   subject = location.search;
}

并填充主题(我第一次错过了)

document.getElementById("id_of_subject_field").innerHTML = subject;

这不是一个优雅的解决方案,但它应该可以解决问题。

于 2012-06-17T11:25:44.173 回答