input文本框的value屬性在頁面中不隨輸入的數據而變化


今天,在做試驗遇到這么一個需求:

  一個input文本框,輸入值后將標簽傳到后台,在后台解析標簽,發現value仍然是初值,不是我們改變后的值。

  

例如:

<input name="" type="text" value="SS">

 

當為們改變文本框的值的時候,其value屬性值仍然是SS

 

 

 

 解決辦法:在失去焦點的時候刪除此input標簽,再創建一個一模一樣的標簽,value屬性設置為改過之后的值。

<input name="ww" type="text" onblur='updateInputValue()'>

 

 

    function updateInputValue() {
        var $inputParent = $("[name='ww']").parent()//獲取此元素的父親
        var $span = $inputParent.children("span");//獲取到此元素的哥哥
        var value = $("[name='ww']").val();//獲取此元素修改后的值
        $("[name='ww']").remove();//刪除此元素
        $span.after($("<input type='text' value='"+value+"' onblur='updateInputValue()' name='ww'/>"));//利用修改后的值重新拼接一個input
    }

 

效果:

 

 

 

第二種方式:(多謝評論區的一位兄弟)

$(obj).attr("value",$(obj).val());實現,親測有效
    <body>
        <input type="text" name="xxx" id="xxx" value="" onchange="changeValue(this)" />
    </body>
    <script>
        function changeValue(obj){
            $(obj).attr("value",$(obj).val());
        }
    </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM