你怎么知道jQuery中是否有东西被操纵了?

时间:2011-07-22 01:04:29

标签: jquery

我有一个使用jQuery的表单,我需要操作传入的数据。引擎为我提供了一个带有十进制数据的text字段,但它希望POST数据是十六进制的。所以我用jQuery转换它以避免用户需要重新输入它。是的,我知道这很愚蠢,但另一方面它不在我的手中。

我尝试使用addClass()添加一个类(hexified),然后修改我的选择器以不重新处理。但是当我用F5重新加载页面时,Firefox保留了修改后的值,但在我上面清除了该类。

我尝试制作一个隐藏的输入,服务器会忽略它(所以它总是回零),但这似乎随机不起作用。

我在考虑使用Cookie,但是如果您在多个标签页中打开该页面,或者我将如何清除等,那将无济于事。

有什么想法吗?

4 个答案:

答案 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记住以前的输入值,但是你会丢失自动填充功能