【问题标题】:Placeholder vanish after click on Reset button in IE8在 IE8 中单击重置按钮后占位符消失
【发布时间】:2013-11-20 04:14:44
【问题描述】:

我有一个表单,管理员可以在其中添加候选人。当我在 IE8 中运行我的应用程序并单击重置按钮时,它会从所有字段中删除占位符。我正在使用 placeholder.js 来支持 IE8 中的占位符属性。

这是我的重置功能...

 function resetCandidateData(){
    $("#addCandidateForm")[0].reset();
 }

我的表格是这样的......

<form name="addCandidateForm" id="addCandidateForm" method="Post">
     <input type="text" name="cname" id="cname" class="inputBox bdr-radius5" placeholder="Enter candidate name" autocomplete="off"/>
     .....
     .....
     <span class="global-button" onclick="resetCandidateData();">Reset</span>
</form>

第一次刷新页面时,它在 IE8 中的每个文本字段中显示占位符,但重置后所有内容都消失了。请帮忙。

【问题讨论】:

标签: javascript jquery html internet-explorer-8 placeholder


【解决方案1】:

我对您使用的特定 placeholder.js 库一无所知,而且您没有提供链接,所以我什至无法分辨它是哪个。

但是,在我看来,您需要使用更好的占位符脚本。

如果重置字段清除占位符,则意味着脚本正在使用字段值来显示占位符。

这很好,但确实有一些限制,特别是正如您在重置字段时看到的那样,但这也意味着您不能在密码字段上使用占位符(因为它们会显示为星号,如密码本身),并且您不能轻易地将占位符的样式设置为与字段值不同。

出于所有这些原因,我更喜欢使用不同技术的占位符脚本 - 例如,将占位符放在自己的元素中并将其显示在输入字段的顶部(或后面),而不是实际使用输入字段本身占位符。

因此,我的建议是找到一个替代占位符脚本。取出一个并插入另一个应该相当简单,并且有很多可供选择。 Take a look here 获取一些最好的列表。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    将您的 resetCandidateData 函数更改为

    function resetCandidateData(){
        $("#addCandidateForm")[0].reset();
        $.Placeholder.init();
    }
    

    它应该恢复占位符。

    【讨论】:

    • 嘿,我在重置函数中添加了Placeholder.init(); 行,但它不起作用,它抛出错误'Placeholder' is undefined ....
    • 你使用的是什么占位符脚本?
    • 然后试试$.Placeholder.init()。如果它不起作用,您应该认真考虑 Spudley 的回答。
    • 你那也行不通,好吧,我会考虑 Spudley 的回答并咨询我的前辈。我仍然不确定他们使用的是哪个占位符脚本。顺便谢谢你给我指导...
    猜你喜欢
    • 2016-01-29
    • 1970-01-01
    • 2021-09-12
    • 2017-03-03
    • 2017-11-12
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多