我有一个使用jQuery的表单,我需要操作传入的数据。引擎为我提供了一个带有十进制数据的text
字段,但它希望POST数据是十六进制的。所以我用jQuery转换它以避免用户需要重新输入它。是的,我知道这很愚蠢,但另一方面它不在我的手中。
我尝试使用addClass()
添加一个类(hexified
),然后修改我的选择器以不重新处理。但是当我用F5重新加载页面时,Firefox保留了修改后的值,但在我上面清除了该类。
我尝试制作一个隐藏的输入,服务器会忽略它(所以它总是回零),但这似乎随机不起作用。
我在考虑使用Cookie,但是如果您在多个标签页中打开该页面,或者我将如何清除等,那将无济于事。
有什么想法吗?
答案 0 :(得分:2)
在Firefox中,问题可能是缓存造成的。 FF非常积极地缓存表单字段值。
如果您能解决其他问题,只需将autocomplete="off"
添加到<input/>
。
答案 1 :(得分:1)
如果第一个以0x
开头,您可以开始处理并停止。
var $decToHexFields = $(".something");
if (!/^0x/i.test($decToHexFields.first().val()))
{
// process fields
}
答案 2 :(得分:0)
Cookies是你最好的主意。无论他们是在多个标签中,他们都会共享相同的域名,以便他们能够工作。让JQuery查找cookie并将类添加到字段中。
答案 3 :(得分:0)
尝试添加此内容:
$(document).ready(function()
{
$('form').attr('autocomplete','off');
});
这应该禁用firefox记住以前的输入值,但是你会丢失自动填充功能