从输入值到下一页的输入值?

时间:2012-10-11 03:14:08

标签: javascript html5 session-storage

我在表单中有一个输入字段 - 让我们说:

<form action="/subscribe">
  <input type="emailadress" id="emailme" value="Email Address" />
  <input type="submit" value="Subscribe" class="cat_button" />
</form>

然后在下一页(subscribe.html)上我有一个完整的表格。

我要做的是让用户输入他们的电子邮件地址,然后按订阅。

它需要你subscribe.html

当您到达该页面时,您的电子邮件地址已经预先填好。

编辑:我无法访问服务器端编程 - 只有Javascript,HTML和CSS。

我正在研究HTML5会话存储,但没有运气。

这可能吗?

2 个答案:

答案 0 :(得分:1)

这当然是可能的。如果您想要一个完全客户端的解决方案,一种方法可能是使用Javascript单击侦听器捕获click事件,选择表单中的两个元素并读取它们的值,并将这些值放入会话存储中。在subscribe.html页面的Javascript中,请务必从会话存储中读出值并在subscribe.html页面中填写相应的输入元素。

Javascript + jQuery for first html page

$(document).ready(function() {
("myform").click(function() {
    var useremail = ("selector_for_email").val();
    sessionStore.setitem("useremail", useremail);
    // Don't preventDefault, allow form POSTing
});
});

第二个html页面的Javascript + jQuery

$(document).ready(function() {
        var useremail = sessionStore.getItem("useremail");
        ("input_elem").val(useremail);
    });

如果您对涉及客户端和服务器的解决方案持开放态度,只需允许用户提交表单(发送POST消息)即可。在订阅的路由处理程序中,读出POSTed数据并使用输入值填充视图模板中的元素。

Python后端

@app.route('/subscribe')
def subscribe():
    if request.method == 'POST':
        useremail = request['name_attr_of_email_input']
        return render_template(subscribe.html, email=useremail)

答案 1 :(得分:0)

要使用php执行此操作,您需要做的就是提交您创建的表单(在向表单元素添加'method =“post”'之后,并为您的文本输入提供一个名称,比如说,“emailme”)。

<form action="/subscribe.php" method="post">
  <input type="emailadress" name="emailme" id="emailme" value="Email Address" />
  <input type="submit" value="Subscribe" class="cat_button" />
</form>

从那里,你将subscribe.html更改为.php文件,并在subscribe.php上执行类似的操作:

<?php
$email_address = $_POST['emailme'];

echo '<input type="emailadress" name="emailme2" id="emailme2" value="' . $email_address . '" />';
?>

或者:

<?php
$email_address = $_POST['emailme'];
?>

<input type="emailadress" name="emailme2" id="emailme2" value="<?php echo $email_address; ?>" />