2013-10-10 57 views
2

下面的表单数据两者是一个形式,我有:提交关于点击进入,打提交按钮

<form class="form-horizontal" id="login-form"> 
<input name="email" id="email" type="email" size="30" class="span4" placeholder="Email" style="margin-top:20px; margin-left:20px; width: 270px;"/> 
<br> 
<input name="passwd" id="passwd" type="password" class="span4" placeholder="Password" style="margin-top:10px; margin-left:20px; width: 270px;"/> 
<br><br> 
<input type="button" id="login" name="login" value="Go" class="btn btn-custom" style="width:30%; margin-left:30px; margin-top:20px"/> 
<br> 
<br> 
</form> 

这里我提出使用JavaScript来提交点击按钮的数据的Ajax调用:

$('#login').click(function(){ 
    $.ajax({ 
     url:"script.php", 
     type:'POST', 
     dataType:"json", 
     data: $("#login-form").serialize() 
    }).done(function(data){ 
     //do domething 
    }); 
}); 

如何通过按回车键并单击提交按钮来提交数据?

+0

检查这方面的工作:http://stackoverflow.com/questions/905222/enter-key- press-event-in-javascript –

回答

4

我已经更新了代码。创建一个函数,并在textbox keypress事件上调用它,并确定提交按钮,然后调用函数和按钮的单击事件。

function submitLogin() { 
$.ajax({ 
    url:"script.php", 
    type:'POST', 
    dataType:"json", 
    data: $("#login-form").serialize() 
}).done(function(data){ 
    //do domething 
}); 
} 

$('#email').keypress(function(e) { 
if (e.which == '13') { 
     submitLogin(); 
    } 
}); 
$('#passwd').keypress(function(e) { 
if (e.which == '13') { 
     submitLogin(); 
    } 
}); 
$('#login').click(function(){ 
    submitLogin(); 
}); 
+1

您应该更改具有ID的元素的选择器。 #email和#passwd就足够了,不需要前面的标签元素,因为每页只能有一个id。 – EnterSB

+1

你可以把if语句放在一个函数中,传递'e'来减少一些代码。 – Brian

+0

是的,删除#id之前的元素标签 –

1

如何将输入类型更改为“提交”并输入点击事件进入表单提交?

<input type="submit" id="login" name="login" value="Go" class="btn btn-custom" style="width:30%; margin-left:30px; margin-top:20px"/> 

JQuery的

$('#login-form').submit(function(){ 
    $.ajax({ 
     url:"script.php", 
     type:'POST', 
     dataType:"json", 
     data: $("#login-form").serialize() 
    }).done(function(data){ 
     //do domething 
    }); 
}); 
1

你应该能够在电子邮件和密码字段添加按键功能。

$('#email').keypress(function(e){ 
    if (e.keyCode == 13) { 
    $('#login-form').submit(/*...*/); 
    } 
} 

我举了一个字段的例子。

1

本的理念是:

$("input").keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     runAjax(); 
     // or 
     // runSubmit(); 
    } 
}); 

$('#login').click(function(){ 
    runAjax(); 
    //or 
    //runSubmit(); 
}); 

function runAjax(){ 
    $.ajax({ 
     url:"script.php", 
     type:'POST', 
     dataType:"json", 
     data: $("#login-form").serialize() 
    }).done(function(data){ 
     //do domething 
    }); 
} 

function runSubmit(){ 
    $("form").submit(); 
} 
+0

太一般来说做输入按键,因为它会收集整个页面。更新解决方案以仅包含输入。 – EnterSB

1

使用在方法上的输入,然后点击

$('#element').on('click keypress', function(event) { 
var check = 1; // Default for Click 
if (e.keyCode == 13) //When Enter Key is pressed 
{ 
var check = 1; 
} 
else 
{ 
var check = 0; // other keys pressed 
} 

if (check == 1) 
{ 
$.ajax({ 
    url:"script.php", 
    type:'POST', 
    dataType:"json", 
    data: $("#login-form").serialize() 
}).done(function(data){ 
    //do domething 
    }); 
    } 
     });