JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何防止谷歌浏览器缓存我的输入,尤其是当用户点击后隐藏的输入?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个asp.net mvc应用程序,有很多隐藏的输入来保持值和格式化他们的名称,以便我可以在我提交表单后使用模型绑定.

当用户提交表单并单击后退按钮时,我偶然发现了一个奇怪的Chrome错误,我没有用IE或Firefox,我发现chrome也会保留我隐藏的输入值.

这整个块是通过javascript生成的,因此我相信chrome正在缓存这个.

function addProductRow(productId,productName) {

    if (productName != "") {



        //use guid to ensure that the row never repeats
        var guid = $.Guid.New();

        var temp = parseFloat($(".tboProductCount").val());

        //need the span to workaround for chrome
        var szHTML = "<tr valign=\"top\" id=\"productRow\"><td class=\"productIdCol\"><input type=\"hidden\" id=productRegsID" + temp + "\" name=\"productRegs[" + temp + "].productId\" value=\"" + productId + "\"/>"
          + "<span id=\"spanProdID" + temp + "\" name=\"spanProdID" + temp + "\" >" + productId + "</span>"
          + "</td>"
          //+ "<td><input type=\"text\" id=\"productRegName\" name=\"productRegs[" + temp + "].productName\" value=\"" + productName + "\" class=\"productRegName\" size=\"50\" readonly=\"readonly\"/></td>"
          + "<td><span id=\"productRegName\" name=\"productRegs[" + temp + "].productName\" class=\"productRegName\">"+ productName + "<\span></td>"
          + "<td id=\"" + guid + "\" class=\"productrowguid\" \>"
          + "<input type=\"text\" size=\"20\" id=\"productserialNo" + temp + "\" name=\"productRegs[" + temp + "].serialNo\" value=\"" + "\" class=\"productserialNo\" maxlength=\"18\" />"
          + "<a class=\"fancybox\" id=\"btnImgserialNo" + temp + "\" href=\"#divserialNo" + temp + "\"><img class=\"btnImgserialNo\" src=\"Images/landing_14.gif\" /></a>"
          + "<span id=\"snFlag" + temp + "\" class=\"redWarning\"></span></td>"
          + "<td><input type=\"text\" id=\"productRegDate" + temp + "\" name=\"productRegs[" + temp + "].PurchaseDate\" readonly=\"readonly\" />"
          + "<span id=\"snRegDate" + temp + "\" class=\"redWarning\"></span></td>"
          + "<td align=\"center\"><img style=\"cursor:pointer\" id=\"btnImgdelete\" src=\"Images/btn_remove.gif\" onclick=\"javascript:removeProductRow('" + guid + "')\" /><div style=\"display:none;\"><div id=\"divserialNo" + temp + "\" style=\"font-family:verdana;font-size:11px;width:600px\">" + serialnumbergeneral + "<br /><br />" + getSNImageByCategory(productId) + "</div></div></td>"
          + "</tr>";

        $(".ProductRegistrationTable").append(szHTML);
        $("a.fancybox").fancybox();

        //initialization
        $("#productRegDate" + temp).datepicker({
            minDate: new Date(1996,1 - 1,1),maxDate: 0
        });

        //sanity check
        //s7test
        alert('1 '+$("#spanProdID" + temp));
        alert('2 '+$("#productRegsID" + temp));


} //end function addNewProductRow

我需要在用户选择新产品时刷新id,但在其旁边放置另一个span标签会显示span将具有新id,隐藏输入仍将具有前一个id.

是否有一种优雅的方法来解决这个问题?

谢谢

解决方法

在阅读@pruts评论后移到这里;)

我的老板找到了答案,这是一个简单的autocomplete =“off”添加到输入属性,然vwd会将其标记为错误:)

大佬总结

以上是大佬教程为你收集整理的javascript – 如何防止谷歌浏览器缓存我的输入,尤其是当用户点击后隐藏的输入?全部内容,希望文章能够帮你解决javascript – 如何防止谷歌浏览器缓存我的输入,尤其是当用户点击后隐藏的输入?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。