【问题标题】:jQuery - Set Form's attribute to true on page loadjQuery - 在页面加载时将表单的属性设置为 true
【发布时间】:2020-01-28 10:07:58
【问题描述】:

希望有人可以帮助我,因为我无法弄清楚我做错了什么。我检查了不同的帖子,但找不到与我已经尝试过的不同的地方。

我的模型有一个属性: private boolean thisShouldBeTrue;

this 的值应根据用户在屏幕上的操作而动态变化。 我的表单包含一个隐藏的输入来检索这个值:

<form:input path="thisShouldBeTrue" type="hidden" id="retrievedValue" />

不同的 javascript 函数显示此工作,因为当用户执行某些操作来触发这些脚本时,我在提交时检索到不同的值。

但是,我不能在页面加载时将此设置为 true(如果用户不采取其他操作,这是默认情况下应发送的值)。

$(document).ready(function(){
        $('#retrievedValue').val("true");
});

有什么建议吗?

【问题讨论】:

  • 你应该使用#当使用jquery的id作为$('#retrievedValue').val("true");
  • 错字。 $('retrievedValue') -> $('#retrievedValue') 还要仔细检查 form:input 控件是否完全按照您在模板中设置的方式呈现 id 属性
  • 抱歉,发帖时打错字了。我的代码中有#。我有一个具有完全相同行的 onClick 函数,并且在调用时正确设置了值。出于某种原因,没有使用准备好的功能
  • 在这种情况下,请检查我之前提到的 DOM,以确保输出中的 id 与您期望的匹配。

标签: javascript jquery spring spring-mvc spring-form


【解决方案1】:

您只需要使用# 使用jquery 选择带有id 的html 元素,见下文

$(document).ready(function(){
   $('#retrievedValue').val("true");
});

【讨论】:

  • 像这样的问题,如果问题是一个简单的错字,应该直接关闭。
  • 它使用语义,而不是语法。但它不支持所有 xpath 查询。大多数 Xpath 结构只是在内部进行了简化,以便于开发。就像访问 id 和其他查询一样。
  • 抱歉,发帖时打错字了。我的代码中有#。编辑了问题
  • 那么你的代码应该可以工作,只要 id 在整个 DOM 中都是唯一的
【解决方案2】:

JQuery 使用 Xpath 语义来识别 DOM 中的元素。要通过 ID 访问元素,在本例中为检索值,您可以通过 $("#<id>") 访问它。

$(document).ready(function(){
            $('#retrievedValue').val("true");
    });

【讨论】:

  • 这样的问题,如果问题是一个简单的错字,应该直接关闭。`
  • 另外请注意,jQuery 根本不使用 XPath 语义。 XPath 语法完全不同
  • 抱歉,发帖时打错字了。我的代码中有#。编辑了问题
猜你喜欢
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2017-07-12
相关资源
最近更新 更多