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 中创建用于网站预览的面板

我如何在sencha touch中垂直滚动面板

在sencha touch 2中滚动面板时的文本字段焦点问题

Sencha Touch 2:应用程序构建后面板不会滚动

Sencha Touch 2 - 选项卡式面板中的轮播

Sencha touch 2 面板内的列表