将表单字段内容传递到新页面上的相同表单字段

时间:2010-02-08 19:16:04

标签: javascript forms

我有一个“电子邮件”地址的表单字段,我想在每个页面顶部设置一个小表单,其中包含“电子邮件地址”字段,然后是一个注册按钮,到一个页面,以完成邮件列表订阅的详细表单。我遇到问题的两件事:

  • 如何将表单中输入的数据传递到专用“邮件列表”页面上的电子邮件地址?
  • 如何在点击“提交”时将用户重定向到专用的“邮件列表”页面?

2 个答案:

答案 0 :(得分:1)

当您准备使用javascript传递数据时,为什么不进一步为您的功能设置一个页面。

使用javascript,您可以显示或隐藏您希望用户查看的表单 或者甚至你构建一个表单,然后在两个状态之间显示或隐藏一些额外的字段。

在这些配置中,阅读同一页面中的值非常容易。
用户体验会更好。

编辑(在绝望的评论之后;)

在页面的BODY中设置一个类似的表单:

<form action="javascript:void(0)" >
    <input type="text" name="email" />
    <input type="submit" value="sign up!" onclick="signUp(this.form)"/>
</form>
<script>
    function signUp(form){
        window.location.href = 'signUp.html?email=' + form.email.value;
    }
</script>    

在注册页面的BODY中:

<form id="frm" action="javascript:void(0)" >
    <input type="text" />
    <input type="text" name="email" />
    <input type="submit" value="register!" onclick="register(this.form)"/>
</form>

<script>
    function urlParam(name, w){
        w = w || window;
        var rx = new RegExp('[\&|\?]'+name+'=([^\&\#]+)');
        var val = w.location.href.match(rx);
        return !val ? '':val[1];
    }

    var frm = document.getElementById('frm');
    frm.email.value = urlParam('email');
</script>

当您单击第一个表单的按钮时,将使用注册页面的参数构建URL。

加载注册页面,然后我们获取表单的引用,使用函数“urlParam”读取url的值,并将值放在名为“email”的字段中

答案 1 :(得分:0)

  

如何将表单中输入的数据传递到专用“邮件列表”页面上的电子邮件地址?

为电子邮件name使用正确的input属性。

  

如何在用户点击“提交”时将用户重定向到专用的“邮件列表”页面?

您可以使用action元素的form属性来定义它:

<form action="mailing-list.php" action="post">
 …
</form>