2013-10-10 5 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> 

내가 버튼을 클릭의 데이터를 제출 자바 스크립트를 사용하여 만든다 아약스 전화 :

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

Enter 키를 누르고 제출 버튼을 클릭하여 데이터를 제출하려면 어떻게해야합니까?

+0

확인을 클릭하면 작업하기 : http://stackoverflow.com/questions/905222/enter-key- –

답변

4

코드가 업데이트되었습니다. 함수를 만들고 텍스트 상자 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

'e'를 전달하는 함수에 if 문을 넣으면 일부 코드도 줄일 수 있습니다. – 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

당신은 모두 이메일과 비밀번호 필드에 키를 누를 때 기능을 추가 할 수 있어야합니다.

한 필드에 예제를 제공했습니다. 방법에

$("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(); 
} 
1

는 생각입니다 press-event-in-javascript
+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 
    }); 
    } 
     }); 
관련 문제