我的網頁上有兩個div,一個是形式,一個用於形式的輸出。我如何更新和加載通過AJAX不同的div塊?
當我提交表格時,如果表格是而不是有效,我想重新顯示錶格並突出顯示錶格中的錯誤。如果表單有效,請隱藏表單div,並顯示處理後的輸出。
我能確定的形式是否是我的PHP內有效,即$isFormValid = true;
如果需要的話,我還可以重新加載形式,當它是有效的進入形式股利。 (因爲當它無效時我必須重新加載它)。
問題
如何?
澄清這裏是事件我希望有流量:
我的網頁上有兩個div,一個是形式,一個用於形式的輸出。我如何更新和加載通過AJAX不同的div塊?
當我提交表格時,如果表格是而不是有效,我想重新顯示錶格並突出顯示錶格中的錯誤。如果表單有效,請隱藏表單div,並顯示處理後的輸出。
我能確定的形式是否是我的PHP內有效,即$isFormValid = true;
如果需要的話,我還可以重新加載形式,當它是有效的進入形式股利。 (因爲當它無效時我必須重新加載它)。
問題
如何?
澄清這裏是事件我希望有流量:
在你的PHP文件:
$validFormOutputInJSONFormat = '...';
$invalidFormValidationMessagesInJSONFormat = '...';
header('Content-type: application/json'); // Remove this line if you've already set this http header in your code.
if ($isFormValid) {
echo '{"valid":true, "data":'.$validFormOutputInJSONFormat.'}';
} else {
echo '{"valid":false, "data":'.$invalidFormValidationMessagesInJSONFormat.'}';
}
在你的Ajax響應處理功能的使用是這樣的:
if (responseData.valid) {
// JS code to hide the form
// JS code to show output. responseData.data has the info you will need here
} else {
// JS code to show validation messages in the form. responseData.data has the info you will need here
}
如果可以輸出你的結果,作爲您的JSON [R服務器端代碼,像
{success:true, formValid:true , message: 'success result'}
或
{success:true, formValid: false, message: 'some error message'}
那麼你可以使用AJAX POST方法來發表您的形式,並在成功,您可以檢查formValid價值和隱藏/顯示div的或錯誤消息取決於formValid值
$('#myform').on('submit' , function(e){
e.preventDefault();
$.ajax({
data : $(this).serializeArray(),
url : $(this).attr('action'),
type : 'POST',
success : function(result){
if(result.success) {
if(result.formValid === true) {
// form validation passed.
}
else {
// form is invalid.
}
}else{
// ajax didn't worked out, no response
}
}
})
})
對於有效的表單提交什麼是服務器輸出格式? HTML? JSON? –
目前我使用的HTML,但它是靈活的。表單數據基本上是'$ _POST'中的任何內容,我可以接受它並做任何事情。目前,包成HTML,這可能是由於遺留原因是更容易保持作爲HTML .... – Dennis
增加,本身就是通過'的Zend \ Form'庫,生成HTML生成的表單,讓部分有留HTML .... – Dennis