26.03.2012, 23:59 | #1 |
Возьми свет!!!
|
Как сделать чтобы aspnetForm.submit не вызывал переход на новую форму
Доброго времени суток!
помогите пж-ста. Создал web форму в группе создан UserDefined элемент, перекрыт метод layout X++: boolean ret; str temp; DictEnum dictEnum; int i; str controlName; void createLink() { boolean b; ; temp = temp + strfmt('<select size=1 id="%1" name="%1" onchange="fldsubmit_%1()">\n',controlName); dictEnum = new DictEnum(enumNum(WorkFlowAllMy)); b = false; for (i=0;i<=dictEnum.values();i++) { if (dictEnum.index2Label(i)) { if (workFlowAllMy == dictEnum.index2Value(i)) { temp = temp + strfmt("<option selected value=%1>%2</option>\n",dictEnum.index2Value(i),dictEnum.index2Label(i)); } else temp = temp + strfmt("<option value=%1>%2</option>\n",dictEnum.index2Value(i),dictEnum.index2Label(i)); } } temp = temp + strfmt("<option value=%1>%2</option>\n",10,s12); temp = temp + strfmt("</select>\n"); } ; ret = super(); controlName = webSession().createControlName(element,this); temp = '<SCRIPT language="javascript" type="text/javascript">\n'; temp += 'function fldsubmit_'+controlName+'()\n'; temp += '{\n'; temp += 'document.aspnetForm' +'.'+ controlName+'.value = 2;\n'; temp += strfmt("%1_%2_wfsubmit(\'SUBMIT\');\n",element.name(),webSession().getClientId()); temp += '}\n'; temp += '</SCRIPT>\n'; createLink(); webSession().writeTxt(temp); return ret; X++: edit WorkFlowAllMy editWorkFlowAllMy(boolean _set,WorkFlowAllMy _value) { ; if (_set) { workFlowAllMy = _value; } return workFlowAllMy; } хочу чтобы перехода не было а страница просто обновилась по заданным значениям в combobox saveViewState и loadViewState перекрыты DAX 4.0 sp 2 MSSQL 2005
__________________
Axapta 3.0 sp 5 Oracle Я могу взорвать вам мозг!!! |
|
27.03.2012, 12:27 | #2 |
Возьми свет!!!
|
Все решилось просто. Во первых метод layout генерация кода в нем неверна
в должно быть так X++: public boolean layout() { boolean ret; str temp; DictEnum dictEnum; int i; str controlName; void createLink() { boolean b; ; temp = temp + strfmt('<select size=1 id="%1" name="%1" onchange="fldsubmit_%1()">\n',controlName); dictEnum = new DictEnum(enumNum(WorkFlowAllMy)); b = false; for (i=0;i<=dictEnum.values();i++) { if (dictEnum.index2Label(i)) { if (workFlowAllMy == dictEnum.index2Value(i)) { temp = temp + strfmt("<option selected value=%1>%2</option>\n",dictEnum.index2Value(i),dictEnum.index2Label(i)); } else temp = temp + strfmt("<option value=%1>%2</option>\n",dictEnum.index2Value(i),dictEnum.index2Label(i)); } } temp = temp + strfmt("</select>\n"); } ; ret = super(); controlName = webSession().createControlName(element,this); temp = '<SCRIPT language="javascript" type="text/javascript">\n'; temp += 'function fldsubmit_'+controlName+'()\n'; temp += '{\n'; temp += strfmt("var val = document.getElementById('%1').value;\n",controlName); temp += strfmt("document.aspnetForm.%1.value = val;\n",controlName); temp += strfmt("%1_%2_wfsubmit('SUBMIT',%3,1);\n",element.name(),webSession().getClientId(),this.id()); temp += '}\n'; temp += '</SCRIPT>\n'; createLink(); webSession().writeTxt(temp); return ret; X++: temp += strfmt("%1_%2_wfsubmit('SUBMIT',%3,1);\n",element.name(),webSession кроме того на userDefined контроле пришлось перекрыть метод setControl X++: public void setControl() { str s; int i; ; super(); s = WebSession().createControlName(element,this); workFlowAllMy = str2int(WebSession().getParm(s)); }
__________________
Axapta 3.0 sp 5 Oracle Я могу взорвать вам мозг!!! |
|
Теги |
aspnetform, ep, web, обновление страницы |
|
Похожие темы | ||||
Тема | Ответов | |||
Переход (upgrade) Аксапта с версии 3 на Ax 2009 | 4 | |||
LedgerJournalTable как лучше сделать новую форму | 2 | |||
Как сделать форму модальной? | 4 | |||
Как сделать свою Web-lookup форму? | 8 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|