2012-01-10 157 views
8

说我有一个HTML表单像这样收集网站访问者的邮件:当提交按钮被按下,我可以得到电子邮件字段的值获取HTML文本输入的值

<form name="input" action="handle_email.php" method="post"> 
Email: <input type="text" name="email" /> 
<input type="submit" value="Newsletter" /> 
</form> 

现在handle_email.php使用$ _POST [“email”]。但是,说我想使用其他地方的电子邮件文本输入的价值。是否有可能在表单处理的“外部”获取电子邮件的值?

更新:感谢大家的快速回复。我想要做的是让电子邮箱执行双重任务。例如,我已经在上面的代码中将提交按钮重命名为“简报”。当按下该按钮时,handle_email.php脚本将仅向用户注册简报。不过,我也在同一页面上有一个“注册”链接,将访问者重定向到注册表单,如果他们愿意,他们可以输入许多其他信息。现在,如果用户碰巧在电子邮件文本框中输入了数据,我想将它发送到注册页面,以便字段可以预先填充。例如:

<a href="http://mywebsite.com/register?user_email="[how can I put the email here?]"/>Register</a> 

对于在原始文章中不够明确,我表示歉意。

+0

还有什么地方你想使用的值的电子邮件字段?如果它在同一个页面中,那么JavaScript(或jQuery)会这样做。 – j08691 2012-01-10 18:33:29

+0

我已更新我的问题,提供更多信息。 – Kevin 2012-01-10 19:01:58

+0

使用会话,因为我已经在我的帖子指示。会议是你唯一的希望! – 2012-01-10 19:15:32

回答

9

见我的jsfiddle这里:http://jsfiddle.net/fuDBL/

每当更改电子邮件字段,链接会自动更新。这需要少量的jQuery。因此,现在您的表单将按需要工作,但您的链接将会动态更新,以便当有人点击该链接时,它会包含他们在电子邮件字段中输入的内容。您应该验证接收页面上的输入。

$('input[name="email"]').change(function(){ 
    $('#regLink').attr('href')+$('input[name="email"]').val(); 
}); 
+0

谢谢,我可以根据这段代码得到它的工作。 – Kevin 2012-01-10 21:14:14

18

如果您想在同一页面的其他位置使用电子邮件输入的值,例如进行某种验证,则可以使用JavaScript。首先,我会分配一个“id”属性到您的电子邮件文本框:

<input type="text" name="email" id="email"/> 

,然后我将检索用JavaScript值:

var email = document.getElementById('email').value; 

从那里,你可以在价值做额外的处理'电子邮件'。

1

取决于您想要使用电子邮件的位置。如果它在客户端,而没有发送到PHP脚本,JQuery(或JavaScript)可以做到这一点。

我创建了一个小提琴解释相同 -

它有一个熄灭的负荷,你点击文本框本身时发出警报。

1

是的,你可以使用jQuery做这个工作,这个想法是

使用表单中的一个隐藏的价值,只是在提交表单之前复制从外部文本框这个隐藏价值的价值。

<form name="input" action="handle_email.php" method="post"> 
    <input type="hidden" name="email" id="email" /> 
    <input type="submit" value="Submit" /> 
</form> 

<script> 
    $("form").submit(function() { 
    var emailFromOtherTextBox = $("#email_textbox").val(); 
    $("#email").val(emailFromOtherTextBox); 
    return true; 
    }); 
</script> 

也看到http://api.jquery.com/submit/

0

只是用浅显易懂的JavaScript:

<form name="input" action="handle_email.php" method="post"> 
 
    Email: <input type="text" name="email" /> 
 
    <input type="submit" value="Newsletter" /> 
 
</form> 
 

 
<a href="javascript:var the_mail = document.getElementByName('email').value; window.location = 'http://mywebsite.com/register?user_email=' + the_email;">Register</a>

你也可以改变像email输入类型: