2013-10-11 53 views
4

初始形式值我有一個PHP生成的表單這樣獲取與JavaScript

<form onsubmit="formSubmit(this)" method="post"> 
    Product Name <input name="prID" type=" text" value="poney" readonly></input> 
    Platform Name<input name="platform" type="text" value="Jambon"></input> 
    <input type="submit" value="OK"> 
    <input type="reset" value="Cancel"> 
</form> 

確定,所以現在如果你點擊取消,你的表格是復位輸入的值被重置爲初始值。我想要做的是在formSubmit(this)函數中獲取表單初始值。

如果我這樣做

formSubmit(form){ 
    alert(form[0].value+form[1].value); 
} 

輸出將會像「小馬駒你輸入什麼都」 我要的是

formSubmit(form){ 
    alert(form[0].value+" old value: "form[1].initialvalue+" new value: "+form[1].value); 
} 

這是應該給予輸出像這樣「poney舊值:jambon新值:不管

您是否知道獲取這些信息的方式,因爲它們似乎存儲在某個地方?

+0

當表單加載時,您可以保存字段的初始值,然後在表單提交中使用它 – Feanor

+0

我不明白爲什麼每個人都在郵件中刪除「hello」和「best attention」,很高興有人問候禮貌地某事。 :/ – Kiwy

回答

2

最簡單的方法就是將其保存在文檔加載中(除非它被AJAX或其他後加載事件填充;那麼您必須在那裏存儲初始狀態)。

<script> 
    $(function(){ 
    var $form = $('form'), 
     formOriginalValue; 

    // store initial state on page load 
    formOriginalValue = $form.serializeArray(); 

    // catch the submit handler and compare 
    $form.submit(function(e){ 
     // given 'element1' is a text box: 
     // 
     // original value: formOriginalValue['element1'] 
     //  new value: $('[name="element1"]', this).val(); 
    }); 
    }); 
</script> 
+0

謝謝這就是我所擔心的。實際上表單是通過ajax調用php函數加載的。所以並不容易。但現在我知道至少在哪裏可以找到解決方案。 – Kiwy