jquery
  • forms
  • html5
  • 2011-07-13 117 views 4 likes 
    4

    我有一個具有以下字段的表單(本場僅僅是一個4)使用HTML5輸入類型和jQuery

    <input type="email" name="email" id="email" size="30" class="text-input" /> 
    

    如果我用這個jQuery的形式按預期工作:

    var dataString = 'name='+ name + '&email=' + email + '&message=' + message + '&ip=' + ip + '&date=' + date; 
    

    但是,如果我使用它來縮短代碼,則在提交時完全忽略電子郵件輸入。

    var dataString = $('#contact').serialize(); 
    

    這是一個錯誤還是有東西我沒有看到。兩者有什麼區別?如果我更改電子郵件輸入到「文本」,則表的工作方式與連載

    使用jQuery 1.6.0

    +1

    '$('#contact').'後面的'dataString'的值是什麼,serialize();'?它如何與手動創建的字符串進行比較? –

    +0

    喬治的值是正確的,除了它將電子郵件的值排除 – Brad

    回答

    3

    最近我有同樣的問題,而且事實證明我是使用jQuery 1.3.2!

    升級到1.6.2(最新)修復它。

    我懷疑這個後來的版本升級了serialize函數來識別新的HTML5輸入類型。

    +2

    你是正確的,它已被修復,但已更新[回到jQuery 1.4](https://github.com/dmethvin/jquery/commit/9719f2235fd382c0c7a00b69c282f56e0c087847 ),所以在1.6.0這*應該*爲OP工作。 –

    +1

    這當然說明了爲什麼它固定我的代碼,但不是OP。值得一試1.6.2我想,儘管從你所說的話來看它不應該有所作爲。 –

    +0

    好點,我會更新。謝謝你們的討論。我想盡可能使用所有的html5元素。 – Brad

    相關問題