Sencha Touch 2:如何从面板获取 HTML 以及输入值
Posted
技术标签:
【中文标题】Sencha Touch 2:如何从面板获取 HTML 以及输入值【英文标题】:Sencha Touch 2: How to get HTML as well as input values from a panel 【发布时间】:2013-02-06 17:39:42 【问题描述】:我想知道如何获取面板的 html 以及面板的输入值?我可以得到这样的 HTML:
myPanel.getInnerHtmlElement().dom.innerHTML
但这只会给我返回 HTML。例如,如果我在 Panel 中有一些如下所示的 HTML:
<input type="text" name="firstname">
然后在文本框中输入一个名称,它应该会返回如下内容:
<input type="text" name="firstname" value="John">
相反,我要回来了:
<input type="text" name="firstname">
有谁知道如何用输入值返回 HTML 吗?谢谢。
【问题讨论】:
你可以直接获取文本字段的值,你也有面板的innerHTML。创建新的文本字段元素,然后将value=something_you_got
添加到其中,这就是您的元素。
@phazorRise 我无法控制我得到的 html,唯一的修改是外部用户在输入上输入值。
【参考方案1】:
好吧,如果该面板是Ext.form.Panel
,那么您可以使用它来获取所有用户输入的值:
myPanel.getValues();
如果它是一个普通的旧面板,恰好有表单字段(也许你应该重新考虑),那么你可以这样做:
var values = ;
Ext.each(myPanel.query('textfield'), function()
values[this.getName()] = this.getValue();
);
【讨论】:
【参考方案2】:Ext.get(html_element_id).setHtml(your_custom_html);
用于设置,就像您可以使用 getHtml
获取值一样
【讨论】:
【参考方案3】:每当值发生变化时就修改 DOM 上的 value 属性:
$("input[type='text']").change(function ()
$(this).attr('value', $(this).val());
);
然后在需要时通过以下方式获取 HTML:
myPanel.getInnerHtmlElement().dom.innerHTML
【讨论】:
以上是关于Sencha Touch 2:如何从面板获取 HTML 以及输入值的主要内容,如果未能解决你的问题,请参考以下文章
sencha touch :: 如何在 iFrame 中创建用于网站预览的面板