我正试图制作某种形式。用户必须单击以进一步发送数据,但是当用户按“输入”时,它将返回错误。
脚本:
$('a.rec_submit').click(function(){
form_update_mail(1);
$('input.rec_submit_actual').click();
return false;
}
HTML:
<a class="rec_submit">SEND</a>
<input class="rec_submit_actual" type="submit" />
我搜索了一下,发现我可以使用keyup函数来让'enter'也能工作。
示例:
$('a.rec_submit').on('keyup click', function(e){
if (e.which === 13 || e.type === 'click') {
form_update_mail(1);
$('input.rec_submit_actual').on('keyup click', function();
return false;
)}
});
然而这不起作用。有人能解释我做错了吗?
///// 修改
没有一个答案可行。
表单不希望通过'enter'进一步传递电子邮件,使用'click'它可以正常工作。
错误:电子邮件地址无效
完整脚本:
/*function form_update_mail()
{
var tresc_maila='';
$('#body_mail').val(tresc_maila);
};*/
var mail_string = '';
function form_update_mail(x) {
mail_string += $('input#component_recommend_to').val() + ',';
if (x == 1) mail_string = mail_string.substring(0, mail_string.length - 1);
$('#component_recommend_to_actual').val(mail_string);
}
$(document).ready(function() {
$('a#suggestproduct').click(function() {
$(this).parent().fadeOut(500);
});
$('div.projektor_left_frame a, a.u10_polec').click(function() {
$('div#component_projector_suggestproduct2').fadeIn(500);
return false;
});
$('#component_recommend input').click(function() {
if ($(this).attr('value') == 'wpisz e-mail' || $(this).attr('value') == 'wpisz imię') $(this).attr('value', '');
});
$('a.recommend_add_next').click(function() {
form_update_mail(0);
$('input#component_recommend_to').attr('value', '');
$('input#component_recommend_name_to').attr('value', '');
return false;
});
$('a.rec_submit').keypress(function(e) {
if (e.which == 13 || e.which == 1) {
form_update_mail(1);
$('input.rec_submit_actual').click();
return false;
}
});
$('#component_recommend_body').val(tresc_maila);
tresc_maila = 'x';
$('#component_recommend_body').val(tresc_maila);
if ($('div.sender_email').length) $('#component_recommend_email').val($('div.sender_email').text());
if ($('div.sender_name').length) $('#component_recommend_name').val($('div.sender_name').text());
});
HTML:
<div id="component_recommend">
<form action="contact.php" method="post">
<input name="suggest_shop" type="hidden" value="submit">
<div class="rec_main">
<div class="rec_sub">
<div style="margin-top: 30%; margin-bottom: 2%; font-size: 1.4em;">
Data 1:
</div>
<input id="component_recommend_name" name="firstname" type="text" placeholder="Your name" class="rec_form" /><br />
<input id="component_recommend_email" name="email" type="text" placeholder="Your e-mail" style="margin-top: 5%" class="rec_form" />
<div style="margin-top: 8%; margin-bottom: 2%; font-size: 1.4em;">
Data 2:
</div>
<input id="component_recommend_name_to" name="name_to" type="text" placeholder="His name" class="rec_form" /><br />
<input id="component_recommend_to" type="text" placeholder="His email" style="margin-top: 5%" class="rec_form" />
<input id="component_recommend_to_actual" name="to" type="text" placeholder="His email" style="display: none;" class="rec_form" />
<textarea id="component_recommend_body" name="body"></textarea>
<a class="rec_submit">SEND</a>
<input class="rec_submit_actual" type="submit" />
</div>
</div>
</form>
</div>
案件结案 感谢@Mohit Bhardwaj工作
正确的代码:
$('a.rec_submit').click(function(){
form_update_mail(1);
$('input.rec_submit_actual').trigger( "click" );
return false;
});
$('a.rec_submit').on('keyup', function(e){
var code = e.keyCode ? e.keyCode : e.which;
if (code == 13) {
form_update_mail(1);
$('input.rec_submit_actual').trigger( "click" );
return false;
}
});
答案 0 :(得分:1)
试试这个
$('a.rec_submit').click(function(){
form_update_mail(1);
$('input.rec_submit_actual').trigger( "click" );
return false;
}
答案 1 :(得分:0)
您正面临这个问题,因为您正在处理键盘和点击事件,您正在检查按下了哪个键,并且只有在按下回车键时才执行代码。但是如果同时输入,则返回false,因此不执行代码。
您可以分别为两个事件编写相同的函数。如果您不想重复代码,可以在单独的函数中定义公共代码,并从两个事件处理程序中调用该函数。
$('a.rec_submit').click(function(){
form_update_mail(1);
$('input.rec_submit_actual').trigger( "click" );
return false;
}//click
$('.rec_main input[type=text]').on('keyup', function(e){
var code = e.keyCode ? e.keyCode : e.which;
if (code == 13) {
$('input.rec_submit_actual').trigger( "click" );
form_update_mail(1);
return false;
}
});
答案 2 :(得分:0)
试试这个
$('a.rec_submit').on('keyup', function(e){
if (e.which === 13 || e.type === 'keyup') {
form_update_mail(1);
$('input.rec_submit_actual').click();
return false;
}
});