javascript - 设置不允许更改的输入值

标签 javascript jquery

我有以下文本框输入代码。我无权访问它以向其添加默认值,所以我使用此 Jquery 代码添加值然后禁用输入但它不发送添加的值。我将如何添加值但不允许他们更改它。我打算使用“隐藏”,但我希望他们看到它只是无法更改它。

$("input[type='text'][name='ShipCity']").val('Madison').attr('disabled', 'disabled');



<input type="text" style="background-color: rgb(255, 255, 0);" value="" name="ShipCity" maxlength="45" size="25">

最佳答案

编辑:另一种选择是禁用这些字段,并在您提交表单时启用它们:

$("input[type='text'][name='ShipCity']").val('Madison').attr('disabled', 'disabled');

$("form").submit(function() {
    $(':input', this).removeAttr('disabled');
});

我认为这无论如何都应该有效。


原答案:

这将在 keypress 事件上返回 false;

此外,它使用 jQuery 的 .data() 存储默认值,并在 blur 事件处理程序中检查该值。

这样做的原因是可以在没有按键事件的情况下(通过 GUI 菜单)输入一个新值。

$("input[type='text'][name='ShipCity']")
    .val('Madison')                  // give default value
    .data('defaultVal', 'Madison')   // remember default value
    .keypress(function() {
        return false;                // prevent keypress events
    })
    .blur(function() {
        if(this.value !== $.data(this, 'defaultVal')) // set back to the default
            this.value = $.data(this, 'defaultVal');  //   if it was changed via
    });                                               //   the GUI menu

编辑:

这是一个允许您执行此操作的版本,因此您只需键入一次默认值。 (否则完全相同。)

示例: http://jsfiddle.net/cdzuR/

$("input[type='text'][name='ShipCity']")
    .data('defaultVal', 'Madison')  // You only need to give the default once
    .val(function() { return $.data(this, 'defaultVal'); })
    .keypress(function() {
        return false;
    })
    .blur(function() {
        if(this.value !== $.data(this, 'defaultVal'))
            this.value = $.data(this, 'defaultVal');
    });

关于javascript - 设置不允许更改的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673142/

相关文章:

javascript/jquery - 按 id 动态添加数据到数组

javascript - 如果输入 : 8-e Expected Output: 2|4|6|8

jquery - 使用hash时如何将id作为选择器?

jQuery 滚动/跟随侧边栏 (div)

javascript - 不在 <head> 标记中加载 jQuery 是否有负面影响?

javascript - HtmlService - 在选择元素中抑制 Firefox 箭头

javascript - 有哪些 CDN,托管 javascript 库、框架、样式和字体?

javascript - VS2008中变量声明警告

javascript - 如何从每个函数中获取对象

php - 在不重新加载页面的情况下显示搜索结果