Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2010, 17:44
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

событие on submit формы
Здравствуйте.

Подскажите пожалуйста, как объявить событие on submit. Мне после submit'а нужно некоторые вещи делать.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2010, 18:29
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Можно так:
<form action="" method="post" onsubmit="alert('отправил!'); return false">
   <input type="submit" value="отправить">
</form>


Но лучше так:
<form name="forma" action="" method="post">
   <input type="submit" value="отправить">
</form>

<script type="text/javascript">
document.forms['forma'].onsubmit = function(){  
    alert('отправил!');
    return false;
};
</script>

Последний раз редактировалось monolithed, 14.10.2010 в 18:37.
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2010, 18:51
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

Я использую Ext.FormPanel

Не html-форму.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2010, 21:09
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

Ну примерно так

MyForm = Ext.extend(Ext.form.FormPanel, {
	
	border : false,
	frame : true,
	labelWidth : 120,
	url : 'url',

	,initComponent : function() {

		var config = {

			defaultType : 'textfield',
			defaults : {
				anchor : '-24',
				msgTarget : 'side'
			},
			monitorValid : true,
			autoScroll : true,

			items : [  ],

			buttons : [ {
				text : 'Сохранить',
				iconCls : 'icon-tick',
				formBind : true,
				scope : this,
				handler : this.submit
			}, {
				text : 'Отмена',
				iconCls : 'icon-cross',
				scope : this,
				handler : function() {
					this.fireEvent('chancel');
				}
			} ]
		};

		// apply config
		Ext.apply(this, Ext.apply(this.initialConfig, config));

		// call parent
		MyForm.superclass.initComponent.apply(this, arguments);

		// add custom events
		this.addEvents('saved');
	}

	,onRender : function() {
		// call parent
		MyForm.superclass.onRender.apply(this, arguments);
		this.getForm().waitMsgTarget = this.getEl();
	} // eo onRender

	,submit : function() {
		this.getForm().submit( {
			url : this.url,
			scope : this,
			success : this.onSuccess,
			failure : this.onFailure,
			waitMsg : 'Сохранение данных...'
		});
	} // eo submit

	,onSuccess : function(form, action) {

		var responseObj = Ext.decode(action.response.responseText);

		// send the new record id
		this.fireEvent('saved', responseObj);
	}

	,onFailure : function(form, action) {
		var responseObj = Ext.decode(action.response.responseText);
		this.showError(action.result.error || responseObj.errormsg);
	}

	,showError : function(msg, title) {
		title = title || 'Error';
		Ext.Msg.show( {
			title : title,
			msg : msg,
			modal : true,
			icon : Ext.Msg.ERROR,
			buttons : Ext.Msg.OK
		});
	}

}); // eo extend
// register xtype
Ext.reg('MyForm', MyForm);


И далее где угодно

MyForm.on('saved', function(responseObj) {
// Что делаем			
});

Последний раз редактировалось VKS, 14.10.2010 в 21:11.
Ответить с цитированием
  #5 (permalink)  
Старый 15.10.2010, 09:34
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

Блин! совсем не то хотел спросить, но ответ тем не менее и в этом коде есть спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2010, 21:37
Интересующийся
Отправить личное сообщение для shukurove Посмотреть профиль Найти все сообщения от shukurove
 
Регистрация: 16.10.2010
Сообщений: 10

вот так можно еще парамеры для запроса можно добавить
this.getForm().submit( {
	            url : this.url,
	            params : {param1: value1, param2: value2, ....},
	            scope : this,
	            success : this.onSuccess,
	            failure : this.onFailure,
	            waitMsg : 'Сохранение данных...'
	        });
Ответить с цитированием
  #7 (permalink)  
Старый 17.10.2010, 18:06
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Вообще можно без submit-а,
просто кнопка и собрать все данные с form-ы.
Один раз делал с формой, а сейчас все без формы.
Но возможно с формой вариант лучше.

Последний раз редактировалось mycoding, 18.10.2010 в 11:29.
Ответить с цитированием
  #8 (permalink)  
Старый 18.10.2010, 11:24
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

только вот не пойму что такое scope. но вообще проблема решена. scopeом не воспользовался. не подскажите что это такое?
Ответить с цитированием
  #9 (permalink)  
Старый 18.10.2010, 11:34
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

На сколько я знаю, это переменные окружения.
Т.е. например мы вызываем функцию, там откуда мы её вызываем
есть различные переменные, вот scope и передаёт эти переменные.

Возможно я не прав. Сам никогда ещё не пользовался им.
А вообще scope - это область видимости откуда вызываем, вроде так.
Ответить с цитированием
  #10 (permalink)  
Старый 18.10.2010, 13:49
VKS VKS вне форума
Профессор
Отправить личное сообщение для VKS Посмотреть профиль Найти все сообщения от VKS
 
Регистрация: 24.09.2010
Сообщений: 178

http://www.sencha.com/learn/Tutorial...cope_all_about

http://javascript.ru/Function/call

Последний раз редактировалось VKS, 18.10.2010 в 13:52.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание значения элемента формы и submit Enklgd01 Общие вопросы Javascript 4 28.09.2010 11:24
submit в iframe по событию change vovasvv jQuery 1 21.05.2010 09:37
Как отключить submit формы в jQuery? khusamov Общие вопросы Javascript 2 08.07.2009 00:54
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 19:21
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12