2014-04-24 5 views
2

다음 코드가 있습니다. 나는 형태가 확인되어 있는지 확인하려면 버튼을 제출에양식이 성공적으로 제출되었는지 확인 html5

<div class="form-group"> 
    <label for="store_account_name">Store Title</label> 
    <input type="text" value="" class="form-control" name="store_account_name" id="store_account_name" placeholder="Please insert store title of the external store" required /> 
</div> 
<div class="form-group"> 
    <label for="store_url">Store URL</label> 
    <input type="url" value="" class="form-control" name="store_url" id="store_url" placeholder="Please insert store URL as described in help section" required /> 
</div> 

. 나는 preventDefault 버튼을 가지고있는 listner 이벤트를 가지고있다. 그래서이 두 입력이 모두 성공적으로 확인되었을 때만 ajax 호출을 보내려고합니다. 유효성 검사 상태를 검사하는 JS 함수가 있거나 CSS 속성이 잘못된 필드에 추가됩니다.

+0

자세히 알려주십시오. – halkujabra

+0

지금 양식을 제출할 때 필드의 유효성을 검사하지 않아도 ajax 호출이 이루어집니다. Ajax 호출은 필드가 성공적으로 유효 한 경우에만 수행되어야합니다. –

+0

제목을 변경하십시오. '제출하는 양식에 이벤트 리스너 추가'와 같은 것이 필요합니다. 양식을 제출했는지 확인할 필요가 없습니다. – FreeLightman

답변

6

양식의 onsubmit 이벤트를 사용해야합니다. 제출 버튼의 클릭 이벤트가 옳지 않은 것처럼 들리는 것 같습니다.

양식의 제출 이벤트는 양식이 유효한 경우에만 실행됩니다. HTML5 유효성 검사 규칙은 양식이 유효하지 않은 경우이 이벤트가 실행되지 않도록합니다. 당신이 당신의 계획 PHP와 JSON을 사용하는 경우

jsFiddle demo

$('#myform').submit(function(e){ 
    e.preventDefault(); 

    // do ajax now 
    console.log("submitted"); 
}); 
+0

필드의 유효성을 검사하지 않아도 Ajax를 수행합니다. –

+0

전혀 사실이 아닙니다. 양식이 유효하지 않으면 발동하지 않습니다. 대답에 바이올린을보십시오. – MrCode

+0

답이 옳았습니다. 문제는 내가 문제를 만드는 js 파일을 포함 시켰습니다. 해당 js 파일은 양식에 data-validate = "true"속성이 있어야하며 배치시 해당 양식이 기능을 대체합니다. –

1

는 귀하의 의견을 바탕으로, 나는 이것이 당신이 'form'전화 기능의 'onsubmit'속성에 for-

을 찾고있는 생각합니다. 이 함수에서 유효성 검사를 수행 한 다음 필드가 유효한 경우 ajax 호출을 수행하고 그렇지 않으면 유효하지 않습니다.

0

는 명확하고 다른 큰 프로젝트처럼 잘 대답 할 것이다. 양식 제출이 클라이언트에게 json을 통해 오류를 발생시키지 않으면 결과를 다시 보냅니다.

관련 문제