Я настроил ключ и могу заставить его показывать на странице самостоятельно, но я не знаю, как получить его в форме.
На самом деле я не хочу использовать идентификатор, так как я буду использовать его позже и внутри приложения, поэтому предпочтительнее использовать itemId. Я предполагаю, что элемент еще не создан.
Мои включают в себя:
HTML-код:
<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
Ошибка (генерируется из recaptcha_ajax.js. Не удается получить элемент управления с идентификатором 'recaptcha'):
Uncaught TypeError: Невозможно установить свойство 'innerHTML' для null
Вот код:
Ext.define('Login.view.Login', {
extend: 'Ext.form.Panel',
alias: 'widget.Login.view.Login',
border: false,
bodyPadding: 5,
initComponent: function() {
var config = {
layout: 'anchor',
defaultType: 'textfield',
defaults: {
anchor: '100%',
allowBlank: false
},
items: [{
fieldLabel: 'Company Id',
name: 'companyId'
},{
fieldLabel: 'Username',
name: 'username'
},{
fieldLabel: 'Password',
name: 'password',
inputType: 'password'
},{
/*xtype: 'panel',
itemId: 'reCaptcha',
border: false,*/
html: '<div id="recaptcha">adsf</div>'
}],
buttons: [{
text: 'Login'
}]
};
Ext.apply(this, config);
this.callParent();
},
afterRender: function() {
Recaptcha.create("heres_my_public_key",
document.getElementById('recaptcha'),
{
theme: "clean"/*,
callback: Recaptcha.focus_response_field*/
}
);
this.callParent();
}
});
Кто-нибудь делал это, используя ExtJS 4?
/ K