2017-01-25 47 views
0

我用jQuery替換了<form><input type='submit'>,所以我可以使用Ajax發送輸入數據而不是重新加載頁面。Chrome自動填充而不提交表單

這很好,但Chrome自動填充停止工作,我將需要。

簡化我當前的代碼版本:

<input type="text" id="field1"> 
<input type="button" id="send" value="Save"> 

的jQuery handeled:

$("#send").click(function() { 
    $.post('my.php', { 
     field1: field1 
    }); 
}); 

我怎樣才能獲得谷歌要記住在field1類型的值?

+0

使用ü任何PHP框架?如果你使用Codeigniter,那麼你可以使用<?php echo set_value('inputname'); ?> – acmsohail

回答

1

您可以使用提交按鈕的表單,所以Chrome可以自動填寫表單,並且您可以在沒有javascript激活的情況下爲瀏覽器製作回退。您可以在X-Requested-With標題的值爲XMLHttpRequest時檢查此項。

例如,您可以發送ajax請求的json響應和未通過XHR請求該頁面的較舊瀏覽器的html響應。

例jQuery的代碼:

$("#myForm").on("submit",function(e) { 
    if(everythingIsFine) { 
    // Send form via ajax to the backend 
    sendMyForm(); 
    } else { 
    doSomeWarningsForUser(); 
    } 

    // Prevent browser from submitting form 
    e.preventDefault(); 
} 

,並將HTML這樣的:

<form method="POST" action="/myAction/" id="myForm"> 
    <input type="text" id="field1"> 
    <button type="submit">Save</button> 
</form> 
+0

工作正常,非常感謝。 – Miklos