Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > отправка данных формы


Автор: Paher 17.6.2010, 09:35
Уважаемые господа, прошу помощи!

Создал форму
Код

    function AnswerClick(record){
        AnswerPanel = new Ext.FormPanel({
            url: server + addr,
            frame: true,
            autoWidth: true,
            height: 500,
            items: [{
                xtype: 'textfield',
                fieldLabel: 'To',
                width: 668,
                readOnly: true,
                value: record.data.Name,
                allowBlank : false
            },{
                xtype: 'textfield',
                fieldLabel: 'Subject',
                name: 'subject',
                width: 668,
                value: 'Re: '+record.data.Subject,
                allowBlank : false,
                readOnly: true
            },{
                xtype: 'textarea',
                name: 'body',
                hideLabel: true,
                width: 773,
                height: 400,
                allowBlank : false
            },{
                xtype: 'hidden',
                name: 'id',
                value: record.data.ID
            },{
             xtype: 'button',
                text: 'Послать ответ',
                width: 200,
                handler: function(){
                 AnswerPanel.getForm().submit({
                     success: function(f,a){
                        ds.reload();
                     },
                     failure: function(f,a){
                         Ext.Msg.alert('Ошибка!!', 'Увы, из Вашей затеи ничего не вышло!');
                     }
                 })
                }
            }]
        }); 
   }


проблема в том, что форма ничего не передает по нажатию кнопки, хотя и соединяется с целевым скриптом. Firebug показывает соединение по методу OPTIONS вместо POST или GET. В чем может быть проблема? голову сломал

Автор: Paher 18.6.2010, 17:02
путем экспериментов выяснил, что если url начинается с 'http://', то используется метод OPTIONS. Если без него, то используется правильный метод POST, но тогда адрес определяется как локальный и прибавляется к текущей папки, т.е. адрес становится неправильным. форма должна посылать данные на другой сервер 

Автор: bars80080 18.6.2010, 19:21
Цитата(Paher @  18.6.2010,  17:02 Найти цитируемый пост)
форма должна посылать данные на другой сервер  

чем шлём? Ext это может?
ибо обычный аякс нет


и вы случаем там скрипт не запускаете просто открыванием лежащего на ПК файла?
может, хотя бы локальный вэб-сервер?

Автор: comtat 20.6.2010, 12:01
Код

handler: function(){
     if(!AnswerPanel.getForm().isValid() ){
         Ext.MessageBox.alert('Warning', 'Необходимо заполнить все обязательные поля!');
         return;
     }
    AnswerPanel.getForm().submit({
      url: 'мой_урл',
      method: 'POST',
      success: function(f,a){
            ds.reload();
      },
      failure: function(f,a){
             Ext.Msg.alert('Ошибка!!', 'Увы, из Вашей затеи ничего не вышло!');
         }
    })
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)