Html.TextArea value/text 页面加载后未更新
Html.TextArea value/text not updating after page load
我在 MVC 5 中工作,我有一个 HTML.TextArea 在页面加载时有一个初始值。它加载正确,但如果您在文本区域中键入任何内容或更改任何内容,该值不会在 DOM 中更新。我可以查看页面源代码,它并没有改变。我还尝试了 HTML.TextAreaFor 尝试绑定方法,但也未能更新对初始值的任何更改。我在 google 上找不到关于此问题的任何信息,因此希望有人可以阐明这种奇怪的行为。我避开 TextArea 就像瘟疫一样,所以对它们的了解是有限的。
@HTML.TextArea("MyTextArea","My Test Text")
加载 "My Test Text",然后如果您键入 "but it no work!" DOM/Postback 值将不会更新为添加的文本,returns ("My Test Text")
对于以下元素...
<input type="text" value="My Text" />
<textarea>My Text</textarea>`
...HTML 将反映最初呈现的内容,即使用户使用浏览器的 UI.[=16 更新它们也是如此=]
如果表单是 POST
ed,或者如果您尝试使用 jQuery 获取 textarea/text 框的值,则这些元素的更新值将被反映出来,例如:
var currentTextareaValue = $('#yourtextareaid').val()
值得注意的是 DOM 和 HTML 输出之间存在差异.这是来自 Google 的 DOM 的定义:
The Document Object Model (DOM) is a cross-platform and
language-independent convention for representing and interacting with
objects in HTML, XHTML, and XML documents. The nodes of every document
are organized in a tree structure, called the DOM tree.
更新 DOM,但不会更新 HTML 输出,除非您专门对此进行更改,例如更新文本框的值属性或 [=14] 之间的值=] 标签:
// Update the textbox value
$('#yourtextboxid').attr("value", "new value");
// Update the text area value
$('#yourtextareaid').html("new value")
我遇到了一个非常相似的问题,但是纯 JavaScript、html 和 css。
如果有人试图更新 document.getElementById("<textarea id>").innerHTML = <text>;
,应该改为 document.getElementById("<textarea id>").value = <text>
。
JavaScript 能够在用户输入 textarea
后更新 .value
没问题。
这两种情况都允许用户输入 textarea
,但 JavaScript 在用户操作 textarea
后更新 .innerHTML
时遇到问题。
我在 MVC 5 中工作,我有一个 HTML.TextArea 在页面加载时有一个初始值。它加载正确,但如果您在文本区域中键入任何内容或更改任何内容,该值不会在 DOM 中更新。我可以查看页面源代码,它并没有改变。我还尝试了 HTML.TextAreaFor 尝试绑定方法,但也未能更新对初始值的任何更改。我在 google 上找不到关于此问题的任何信息,因此希望有人可以阐明这种奇怪的行为。我避开 TextArea 就像瘟疫一样,所以对它们的了解是有限的。
@HTML.TextArea("MyTextArea","My Test Text")
加载 "My Test Text",然后如果您键入 "but it no work!" DOM/Postback 值将不会更新为添加的文本,returns ("My Test Text")
对于以下元素...
<input type="text" value="My Text" />
<textarea>My Text</textarea>`
...HTML 将反映最初呈现的内容,即使用户使用浏览器的 UI.[=16 更新它们也是如此=]
如果表单是 POST
ed,或者如果您尝试使用 jQuery 获取 textarea/text 框的值,则这些元素的更新值将被反映出来,例如:
var currentTextareaValue = $('#yourtextareaid').val()
值得注意的是 DOM 和 HTML 输出之间存在差异.这是来自 Google 的 DOM 的定义:
The Document Object Model (DOM) is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML, and XML documents. The nodes of every document are organized in a tree structure, called the DOM tree.
更新 DOM,但不会更新 HTML 输出,除非您专门对此进行更改,例如更新文本框的值属性或 [=14] 之间的值=] 标签:
// Update the textbox value
$('#yourtextboxid').attr("value", "new value");
// Update the text area value
$('#yourtextareaid').html("new value")
我遇到了一个非常相似的问题,但是纯 JavaScript、html 和 css。
如果有人试图更新 document.getElementById("<textarea id>").innerHTML = <text>;
,应该改为 document.getElementById("<textarea id>").value = <text>
。
JavaScript 能够在用户输入 textarea
后更新 .value
没问题。
这两种情况都允许用户输入 textarea
,但 JavaScript 在用户操作 textarea
后更新 .innerHTML
时遇到问题。