Javascript获取以前的表单输入

Javascript获取以前的表单输入,javascript,jquery,variables,Javascript,Jquery,Variables,我有一个漂亮的jQuery幻灯片表单。以下是提交过程中的一些代码: $('a.contact-submit').click(function(){ var name = $('div.contact input.move').val(); var email = $('div.contact input.locate').val(); var phone = $('div.contact input.fone').val(); var message =

我有一个漂亮的jQuery幻灯片表单。以下是提交过程中的一些代码:

    $('a.contact-submit').click(function(){
    var name = $('div.contact input.move').val();
    var email = $('div.contact input.locate').val();
    var phone = $('div.contact input.fone').val();
    var message = $('div.contact textarea.western').val();

    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

    if(reg.test(email) == false) {
    $('div.contact').hide('slow', function() {
    $('div.contact').html('<h2>Contact Us</h2><p>Sorry, there seems to be a problem with your email address. Please <a href="#" class="contact-try-again">try again</a>.</p>');
    $('div.contact').show('slow');
    });//end of slide up

    }//end of if statement for checking email.

   //SO ON, SO ON. CHECKING REST OF CLIENT INPUT....
});
$('a.contact-submit')。单击(函数(){
var name=$('div.contact input.move').val();
var email=$('div.contact input.locate').val();
var phone=$('div.contact input.fone').val();
var message=$('div.contact textarea.western').val();
变量reg=/^([A-Za-z0-9\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,4})$/;
如果(注册测试(电子邮件)=错误){
$('div.contact').hide('slow',function()){
$('div.contact').html('contact Us对不起,您的电子邮件地址似乎有问题。请。

'); $('div.contact').show('slow'); });//向上滑动结束 }//检查电子邮件的if语句结束。 //等等,等等。检查其余的客户端输入。。。。 });
因此,当客户机出现错误时,如上面的无效电子邮件错误,他们会单击“重试”。现在我希望发生向上滑动操作,然后使用联系人表单向下滑动。但是,那里必须有用户以前的输入

所以我尝试过这样做:

$('a.contact-try-again').live('click', function(){
  $('div.contact').hide('slow', function(){
   $('div.contact').html('<h2>Contact Us</h2><form class="tab"><label for="move">Your Name:</label><input type="text" name="move"  class="move" value="'+name+'" /><br /><label for="locate">Your Email:</label><input type="text" name="locate" class="locate" value="'+email+'" /><br /><label for="locate">Your Number:</label><input type="text" name="fone" class="fone" value="'+phone+'" /><br /><label for="western">Your Message:</label><textarea name="western" class="western">'+message+'</textarea><br /><label for="contact">&nbsp;</label><a href="#contact" class="contact-submit">Send!</a><a href="#" class="prepend-1 contact-close">Cancel</a><br /></form>');
   $('div.contact').show('slow');   
 });//end of hide
});//end of contact-try-again
$('a.contact-try-reach').live('click',function()){
$('div.contact').hide('slow',function()){
$('div.contact').html('联系我们您的姓名:
您的电子邮件:
您的号码:
您的邮件:'+Message+'

'); $('div.contact').show('slow'); });//结束隐藏 });//联系结束,请重试
但是没有运气。它向上滑动,不向下滑动。我还尝试了
警报(名称)
,但它没有收到


那么,我如何获得输入值,然后重新显示它们呢?我对Javascript不是很有经验,没有jQuery。

你应该通过添加
return false来防止浏览器在出现错误时发布表单

$('a.contact-submit').click(function(){

    if(reg.test(email) == false) {
         .....//your code
         return false;
    }

});
event.preventDefault()


您应该通过添加
returnfalse来防止浏览器在出现错误时发布表单

$('a.contact-submit').click(function(){

    if(reg.test(email) == false) {
         .....//your code
         return false;
    }

});
event.preventDefault()


经过一些艰苦的研究,我发现了全局变量。下面是我在提交操作中所做的:

name = $('div.contact input.move').val();
email = $('div.contact input.locate').val();
phone = $('div.contact input.fone').val();
message = $('div.contact textarea.western').val();
基本上,我删除了变量开头的
var
。它将其设置为全局变量

然后我可以用这个:

$('a.contact-try-again').live('click', function(){
 $('div.contact').hide('slow', function(){
  $('div.contact').html('<h2>Contact Us</h2><form class="tab"><label for="move">Your Name:</label><input type="text" name="move"  class="move" value="'+name+'" /><br /><label for="locate">Your Email:</label><input type="text" name="locate" class="locate" value="'+email+'" /><br /><label for="locate">Your Number:</label><input type="text" name="fone" class="fone" value="'+phone+'" /><br /><label for="western">Your Message:</label><textarea name="western" class="western">'+message+'</textarea><br /><label for="contact">&nbsp;</label><a href="#contact" class="contact-submit">Send!</a><a href="#" class="prepend-1 contact-close">Cancel</a><br /></form>');
  $('div.contact').show('slow');   
 });//end of hide   
});

希望这能有所帮助,我花了很多时间才弄明白这一点…

所以经过一些艰苦的研究,我发现了全局变量。下面是我在提交操作中所做的:

name = $('div.contact input.move').val();
email = $('div.contact input.locate').val();
phone = $('div.contact input.fone').val();
message = $('div.contact textarea.western').val();
基本上,我删除了变量开头的
var
。它将其设置为全局变量

然后我可以用这个:

$('a.contact-try-again').live('click', function(){
 $('div.contact').hide('slow', function(){
  $('div.contact').html('<h2>Contact Us</h2><form class="tab"><label for="move">Your Name:</label><input type="text" name="move"  class="move" value="'+name+'" /><br /><label for="locate">Your Email:</label><input type="text" name="locate" class="locate" value="'+email+'" /><br /><label for="locate">Your Number:</label><input type="text" name="fone" class="fone" value="'+phone+'" /><br /><label for="western">Your Message:</label><textarea name="western" class="western">'+message+'</textarea><br /><label for="contact">&nbsp;</label><a href="#contact" class="contact-submit">Send!</a><a href="#" class="prepend-1 contact-close">Cancel</a><br /></form>');
  $('div.contact').show('slow');   
 });//end of hide   
});

希望这能有所帮助,我花了很长时间才弄明白这一点。

发生错误时,表单不会显示。它显示一条错误消息。这与我的问题无关。请记住
Event.preventDefault()
在IE<9中不起作用。在这种情况下,您可以进行特征检测,然后使用
window.event.returnValue=false。发生错误时不显示表单。它显示一条错误消息。这与我的问题无关。请记住
Event.preventDefault()
在IE<9中不起作用。在这种情况下,您可以进行特征检测,然后使用
window.event.returnValue=false。var email=$('input:[name=“email”]”)。val();//检索电子邮件输入的值。不,我也不幸运。我已经试过了,为了查看var的值,我做了一个警报。回答是:未定义。这与我的意图无关,是吗/var email=$('input:[name=“email”]”)。val();//检索电子邮件输入的值。不,我也不幸运。我已经试过了,为了查看var的值,我做了一个警报。回答是:未定义。这与我的意图无关,是吗/