Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 19:35   #1
sedoyksa
 
Регистрация: 03.10.2011
Сообщений: 3
По умолчанию простая форма авторизации extJS

здраствуйте. есть файл log.php
Код:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>форма для входа</title>
    <link rel="stylesheet" type="text/css" href="ext-all.css" />
    <script type="text/javascript" src="ext-base.js"></script>
    <script type="text/javascript" src="ext-all.js"></script>
    <script type="text/javascript" src="log.js"></script>
</head>
<body>

<div id="container">

	<div style="border-top:3px solid #c9e0ed; padding-top:10px;">
		<div id="logo" style="float:left; width:49%; margin:0px 0px 20px 10px;">
			<img src="images/company_logo.jpg" alt="Управление ВОЛС ВЛ" title="Управление ВОЛС ВЛ" onclick="javascript:window.location.href='http://vols-vl.ru'" />
		</div>
			</div>
	<br class="clear"/>
	
	<a href="" style="display:none;" id="dialog-new-document-open"></a>
	
	<div id="top-menu"></div>
	
	<div id="content">
	<div id="dialog-login"></div></div>
	
	<div id="footer"></div>
	
</div>

</body>
</html>
он вызывает log.js
Код:
Ext.Loader.setConfig({
    enabled: true
});

Ext.Loader.setPath('Ext.ux', 'js/extjs/ux/');


Ext.require([
    'Ext.window.Window',
    'Ext.tab.*',
    'Ext.toolbar.Spacer',
    'Ext.layout.container.Card',
    'Ext.layout.container.Border',
    
    'Ext.util.Floating',
	'Ext.util.Observable',
	'Ext.util.Animate',
	'Ext.state.Stateful',
	
	'Ext.form.*',
	
	'Ext.tip.*',
	
	'Ext.panel.*',
    'Ext.button.*',
    'Ext.container.ButtonGroup',
    'Ext.layout.container.Table',
    
    'Ext.data.*',
    
    'Ext.grid.*',
    
 'Ext.ux.statusbar.StatusBar'
]);
Ext.onReady(function(){
Ext.QuickTips.init();

var loginForm = new Ext.form.FormPanel({
		labelWidth: 55,
		frame: true,
		defaultType: 'textfield',
		monitorValid : true,
		items: [{
			fieldLabel: 'Логин',
			name: 'login',
			anchor:'100%',
			allowBlank:false,
			typeAhead: true,
			listeners: {
				specialkey: function(f,e){
					if (e.getKey() == e.ENTER) {
						this.up('form').getForm().findField('password').focused;						
					} else {
						if (e.getKey() == e.TAB) {
							this.up('form').getForm().findField('password').focused;
						}
					}
				}
			}
		},{
			fieldLabel: 'Пароль',
			name: 'password',
			inputType: 'password',
			anchor: '100%',
			allowBlank:false,
			typeAhead: true,
			listeners: {
				specialkey: function(f,e){
					if (e.getKey() == e.ENTER) {
						 var myButton = Ext.getCmp('loginDo');
						 myButton.handler.call(myButton.scope, myButton, Ext.EventObject)
					} else {
						if (e.getKey() == e.TAB) {
							this.up('form').getForm().findField('rememberme').focused;
						}
					}
				}
			}
		},
sedoyksa вне форума Ответить с цитированием
Старый 03.10.2011, 19:36   #2
sedoyksa
 
Регистрация: 03.10.2011
Сообщений: 3
По умолчанию

Код:
{
			xtype: 'checkbox',
			boxLabel  : 'Запомнить меня',
			labelStyle: 'font-size:10px; color:red;',
			name      : 'rememberme',
			inputValue: '2',
			listeners: {
				specialkey: function(f,e){
					if (e.getKey() == e.TAB) {
						Ext.getCmp('loginDo').focused;
					}
				}
			}
		}]
	});

var loginWindow = new Ext.Window({
title: 'Авторизация',
layout: 'fit',
height: 160,
width: 300,
closable: false,
resizable: false,
draggable: false,
items: [loginForm],
buttons: [{
			text: 'Войти',
			id: 'loginDo',
			formBind: true,
			handler :
                    function() {
                        login_window.getEl().mask('Авторизация...');
                        Ext.Ajax.request({
                            url: '/login.php',
                            params: {user_login: login_form.getForm().getValues().login,
                                     user_password: login_form.getForm().getValues().password},
                            success: function (result, request) {                                                           
                                if (result.responseText != '') {
                                    setStatusbarText(result.responseText);
                                    login_window.getEl().unmask(true);                                   
                                } else {
                                    window.location.href = '/';
                                    window.event.returnValue = false;
                                }
                            }
                        });
                    },
                }],
});

loginWindow.show();

 Ext.regModel('SimpleSelectModel', {
    	fields: [
    	{type: 'string', name: 'value'},
    	{type: 'string', name: 'name'}
    	]
    });

    

    var SamplePanel = Ext.extend(Ext.Panel, {
        width    : 500,
        height   : 60,
        //style    : 'margin-top:15px',
        //bodyStyle: 'padding:10px',
        border: false,
    });
    
   
    
    // footer
    new SamplePanel({
        title: false,
        height:39,
        bbar: 
        	new Ext.ux.StatusBar({
            	defaultText: 'Строка состояния',
            	//text: 'текст для статусбара'б,
    			id: 'status',
    			height:50,
    			iconCls: 'x-status-saved',
    			items:[{
    				xtype:'tbtext',
    				text: 'hint',
    				id: 'hint',
    			}, '->', {
    				xtype:'tbtext',
    				text: '1998-2011',
    				id: 'version',
    				
    			}]
    		}),
        cls:'top-menu-class',
        renderTo : 'footer'
    });
    
 
    /*var workWindowWidth = 600;
    var workWindowHeight = 300;*/

}); //end onReady
первое что неработает - на форме выводится надпись Запомнить меня, но чекбокса нет
как по нажатию Вход передать в основной log.php введенные логин\пароль, чтобы он их проверил в базе

форма здесь http://suprofitweb.ru/google/log.php
скрипт здесь http://suprofitweb.ru/google/log.js
sedoyksa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПЕрвая форма, кликая по кнопке, другая форма Nadej C++ Builder 0 02.10.2011 17:58
Вопрос по EXTJS prizrak1390 JavaScript, Ajax 1 08.07.2011 18:40
форма авторизации NZero Общие вопросы .NET 3 25.12.2010 00:15
Форма авторизации new player БД в Delphi 4 20.10.2010 12:53
многоуровневый комбобокс на основе ExtJS sashonk JavaScript, Ajax 0 02.09.2010 16:58