powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / как сделать чтобы при нажатии на submit не перезагружалась страница?
44 сообщений из 44, показаны все 2 страниц
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37264817
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
загружаю файл на сервер

как сделать чтобы при нажатии на submit не перезагружалась страница?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37264949
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007,

по submit Должна перезагружаться страница
можно вывести форму в IFRAME
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37265001
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть нужен не субмит?
может быть нужен субмит в новое окно?
просто сама суть субмита в том, что он открывает страничку с параметрами формы.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37265033
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не применяя субмит, можно загрузить файл с удаленного компа на сервер?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37265097
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, здесь надо делать так:
Делаете маленький IFRAME с формой, и когда на большой форме выбираете файл, заполняете поля этой формы, и прямо там в своем ифрейме субмитите. Не пробовал, но должно проканать. Майлру как-то так делает, мало того, он еще и много файлов позволяет одновременно выделать.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37265940
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007не применяя субмит, можно загрузить файл с удаленного компа на сервер?
Кащейские примеры по загрузке файлов все через субмит...
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37266660
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо,
седлал через iframe пришлось в качестве фона сделать прозрачный рисунок-файл
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37267070
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь делал варианты (через flash или др.) для загрузки больших файлов (>100Мб)?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37267136
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZEN-пример c iframe
Class sqlru.fileuploadajax Extends %ZEN.Component.page
{

/// Этот XML блок описывает содержимое этой страницы.
XData Contents [ XMLNamespace = " http://www.intersystems.com/zen"  ]
{
<page xmlns=" http://www.intersystems.com/zen"  title="Загрузка файла на сервер без перезагрузки страницы">
  <group labelPosition="left">
    <text label="Текущие дата/время на сервере:" value="#(%this.%Eval($ZDT($H)))#"/>
  </group>
  <form enctype="multipart/form-data" target="upload_target" labelPosition="left">
    <text label="Имя:" name="proc"/>
    <fileUpload name="file" label="Выберите файл:"/>
    <submit caption="Загрузить на сервер"/>
    <iframe name="upload_target" hidden="true"/>
  </form>
  <fieldSet legend="Информация о ранее загруженном файле" labelPosition="left">
    <text id="proc" label="Имя"/>
    <text id="fileSize" label="Размер файла"/>
    <text id="fileName" label="Имя файла"/>
    <button caption="Обновить" onclick="zenPage.GetFileInfo();"/>
  </fieldSet>
</page>
}

ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
  #dim %session As %CSP.Session
  #dim stream As %CSP.BinaryStream=pSubmit.%GetStream("file")

  if $IsObject(stream) {
    set %session.Data("fileSize")=stream.Size
    set %session.Data("fileName")=stream.FileName
  }
  set %session.Data("proc")=pSubmit.%GetValue("proc")
  quit $$$OK
}

ClassMethod GetFileInfo() [ ZenMethod ]
{
  &js<
  zenSetProp('proc','value',#(..QuoteJS(%session.Data("proc")))#);
  zenSetProp('fileSize','value',#(..QuoteJS(%session.Data("fileSize")))#);
  zenSetProp('fileName','value',#(..QuoteJS(%session.Data("fileName")))#);
  >
}

}
PS: ещё примеры (с ProgressBar, Flash, Multiple File Upload).
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37267675
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

сделал как у тебя в примере, но
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
	#dim %session As %CSP.Session
	#dim stream As %CSP.BinaryStream=pSubmit.%GetStream("FileStream")
	k ^A
	s ^A( 1 )=pSubmit.%GetValue("tID")
	q  1 
}
почему то
s ^A(1)=pSubmit.%GetValue("tID")
записывает пусто
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37267734
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007 ,

Мой пример (один в один) у Вас работает ?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37269041
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

да
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37269294
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007 ,

Приведите полный модифицированный код.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37274257
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,
извиняюсь за отсутствие, навалилась куча проблем
вот вся страница

Class WEB.TOUR.SITE Extends %ZEN.Component.page
{

Parameter APPLICATION = "WEB.ApplicationWeb";

Parameter PAGENAME = "TOUR.SITE";

Parameter DOMAIN = "WEB";

/// ведение турниров на сайте
Parameter RESOURCE = "WEB_TOUR_SITE";

XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ]
{
<page enclosingStyle="background: #c5d6d6; background-repeat: repeat-x;
background-image: url(/csp/broker/images/sidebargradient.png);"
xmlns=" http://www.intersystems.com/zen"
xmlns:demo=" http://www.intersystems.com/zendemo"
title="Ведение турниров на сайте">
<demo:gbTitle id="title" title="Web портал РТТ"/>
<locatorBar id="locator" OnGetQuickLinks="GetQuickLinks">
<locatorLink caption="Домашняя страница" title="Домашняя страница" href="WEB.Home.cls"/>
<!--<locatorLink caption="Заявки игроков" title="Заявки игроков" href="WEB.PLAYER.CLAIM.cls"/>
<locatorLink caption="Оплата" title="Ввод/редактирование оплаты игроками членских взносов РТТ"
href="WEB.PLAYER.PLPAYMENT.cls"/>
-->
</locatorBar>
<titlePane align="center" title="Ведение турниров на сайте"/>
<vgroup enclosingStyle="padding-left: 5px;">
<!--
<hgroup>
<select id="pTour" displayList="Все турниры,Без Entry Deadline,Без EndDate,Без WithDrawal" valueList="0,1,2,3"
showEmpty="false" onchange="zenPage.SelectChange();"/>
<select id="ptYEAR" sql="select distinct YEAR(StartDate) from MT.Tournament" showEmpty="false"
onchange="zenPage.SelectChange();"/>
<select id="ptMONTH" showEmpty="false" onchange="zenPage.SelectChange();"
displayList="Все,Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь"
valueList="0,01,02,03,04,05,06,07,08,09,10,11,12"
/>
<select id="under" displayList="12 Under,14 Under,16 Under,18 Under"
onchange="zenPage.SelectChange();"
valueList="12,14,16,18"/>

</hgroup>
-->

<tableNavigatorBar id="Navi" align="right"
tablePaneId="tabtour"
maxButtons='10'
msgFirstPage="Переход на первую страницу"
msgLastPage="Переход на последнюю страницу"
msgNextPage="Переход на следующую страницу"
msgPreviousPage="Переход на предыдущую страницу"
msgFound ="Всего"
msgOf="из:"
msgPage="Страница "
msgPageSize="Строк на стр."
showPageSize="1"
showFilter="0"
hidden="0"
/>
<tablePane id="tabtour"
caption="Выбор турнира"
nowrap="false"
headerLayout="headersOnTop"
whereClause="CLAIM->dop=1"
orderByClause="CLAIM->startDate"
useKeys="true"
useSnapshot="true"
maxRows="10000"
pageSize="10"
initialExecute="false"
valueColumn="ID"
onselectrow="zenPage.TourSelect(zenThis);"
OnCreateResultSet="CreateT"
onrefresh="zenPage.tabUpdate(zenThis);"
showQuery="0">
<!--
onupdate="zenPage.tabUpdate(zenThis);"
-->
<column colName="ID" hidden="1"/>
<column colExpression="CLAIM->tourName" colName="Name" header="Название"
filterType="text" filterOp="[" width="300" />
<column colExpression="TOCHAR(CLAIM->startDate,'dd/mm/yy')" colName="SD"
header="Дата начала" width="72" filterType="text" filterOp="%STARTSWITH"/>
<column colExpression="CLAIM->ccrp->idCity->Name" colName="CITY" header="Город" width="160"
filterType="text" filterOp="%STARTSWITH"/>
<column colExpression="AgeGroup->shortName" colName="AG" header="ВГ" width="45" />
<column colName="tourSex" header="Пол" width="95"
filterType="enum" filterOp="="
filterEnum="0,М,Ж,МЖ,DBL МЖ,DBL М,DBL Ж,DBL М+Ж,COM МЖ,COM М,COM Ж,COM М+Ж"/>
<column colExpression="IFNULL(CATEGORY,'',CATEGORY->Name)||IFNULL(CATCLASS,'',CATCLASS)" colName="CAT" header="Кат." width="35"/>
<column colExpression="CASE hasRes WHEN 1 THEN 'да' ELSE 'нет' END" colName="RES" header="Рез.?" width="38"/>
<column colName="spisok" header="Список" OnDrawCell="DrawFileName"
colExpression="ISNULL(fileNameMale,'')||'^^'||ISNULL(fileNameFemale,'')||'^^'||ISNULL(hasShow,0)" />
<column colName="setki" header="Сетки" OnDrawCell="DrawFileName"
colExpression="ISNULL(fileDrawMale,'')||'^^'||ISNULL(fileDrawFemale,'')" />
<column colName="tStart" colExpression="CASE hasStarted WHEN 1 THEN 'да' ELSE 'нет' END" header="Нач.?" width="38"/>
<condition colName="tStart" predicate="EQ" value="да" cellStyle="background: #ACE1AF;"/>
<condition colName="tStart" predicate="EQ" value="нет" cellStyle="background: #F88379;"/>
<condition colName="tourSex" predicate="EQ" value="М" cellStyle="background: #ADD8E6;"/>
<condition colName="tourSex" predicate="EQ" value="Ж" cellStyle="background: #FFB6C1;"/>
<condition colName="tourSex" predicate="EQ" value="DBL М" cellStyle="background: #ADD8E6;"/>
<condition colName="tourSex" predicate="EQ" value="DBL Ж" cellStyle="background: #FFB6C1;"/>
</tablePane>
<form id="form" hidden="true" enctype="multipart/form-data" target="upload_target">
<radioSet id="rsSex" label="пол:" labelStyle="float: left;" displayList="М,Ж" valueList="1,2" disabled="true"
onchange="zenPage.rsChange(zenThis);"/>
<hgroup>
<fieldSet legend="Файл списков" groupStyle="border:none;width:300px;" cellStyle="padding:5px;"
layout="horizontal">
<fileUpload id="fu1" />
<html OnDrawContent="DrawIco" seed="a" id="ic1"/>
</fieldSet>
<fieldSet legend="Файл сеток" groupStyle="border:none;width:300px;" cellStyle="padding:5px;" containerStyle="padding-left:10px;"
layout="horizontal">
<fileUpload id="fu2"/>
<html OnDrawContent="DrawIco" seed="b" id="ic2"/>
</fieldSet>
</hgroup>
<button id="btnStarted" caption='отметить как "Начавшийся"' onclick="zenPage.btnStart();"
containerStyle="padding-top:5px;padding-bottom:5px;" align="center"/>

<fieldSet legend="Файл расписания" groupStyle="border:none;" cellStyle="padding:10px;"
layout="horizontal" containerStyle="width:300px;" >
<fileUpload name="FileStream" id="FileStream"/>
<!-- <button caption="Прикрепить файл" id="btnLoad" onclick="zenPage.Sub(zen('FileStream').getValue(),zen('tabtour').getValue());"/> -->
<submit caption="Загрузить на сервер"/>
<iframe name="upload_target" hidden="true"/>

</fieldSet>
<!--
<iframe id="iframe" src="WEB.FileUpload.cls" frameBorder="false"
width="450" height="100" scrolling="no"/>
--><text id="tID" />
</form>
</vgroup>
</page>
}

ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
#dim %session As %CSP.Session
#dim stream As %CSP.BinaryStream=pSubmit.%GetStream("FileStream")
k ^A
s ^A(1)=pSubmit.%GetValue("tID")
;s ^A(1)=pSubmit.%GetValue("rsSex")
q 1
if $IsObject(stream) {
set %session.Data("fileSize")=stream.Size
set %session.Data("fileName")=stream.FileName
}
set %session.Data("proc")=pSubmit.%GetValue("proc")
quit $$$OK
}

ClientMethod tabUpdate(tab) [ Language = javascript ]
{
var cb = document.getElementById('ico1');
var cb1 = document.getElementById('ico2');
cb1.style.border='3 solid green';
cb1.title = 'прикрепить СЕТКИ';
cb.style.border='3 solid green';
cb.title = 'прикрепить СПИСКИ';
if (tab.selectedIndex<0) {
zen('form').setHidden(true);
return;
}
var data = tab.getRowData(tab.selectedIndex);
if (tab.getValue()!=data['ID']) {
tab.setProperty('selectedIndex',-1);
zen('form').setHidden(true);
return;
}
if (data['tourSex']=='МЖ'||data['tourSex']=='DBL МЖ') return;
var ar1 = data['spisok'].split('^^');
var ar2 = data['setki'].split('^^');

var rs = zen('rsSex');
if (data['tourSex']=='М'||data['tourSex']=='DBL М') rs.setValue(1);
if (data['tourSex']=='Ж'||data['tourSex']=='DBL Ж') rs.setValue(2);
if (data['tourSex']=='DBL М+Ж') {rs.setValue(1); rs.setDisabled(true);}
var indx = rs.getValue()-1; //alert(data['spisok']+'\n'+data['setki']);
if (ar1[indx]!='') {
cb.style.border='3 solid red';
cb.title = 'открепить СПИСКИ';
}
else {
cb.style.border='3 solid green';
cb.title = 'прикрепить СПИСКИ';
}
if (ar2[indx]!='') {
cb1.style.border='3 solid red';
cb1.title = 'открепить СЕТКИ';
}
else {
cb1.style.border='3 solid green';
cb1.title = 'прикрепить СЕТКИ';
}
}

ClientMethod btnStart() [ Language = javascript ]
{
var tab = zen('tabtour');
var res = this.Save(2,tab.getValue());
if (res==0) {alert('Произошла ошибка, повторите действие'); return;}
tab.executeQuery();
var btn = zen('btnStarted');
if (btn.getProperty('caption')=='снять отметку "Начавшийся"') {
btn.setProperty('caption','отметить как "Начавшийся"');
btn.setProperty('controlStyle','background:#F88379;');
}
else {
btn.setProperty('caption','снять отметку "Начавшийся"');
btn.setProperty('controlStyle','background:#ACE1AF;');
}
}

ClientMethod rsChange(cbr) [ Language = javascript ]
{
var tab = zen('tabtour');
var data = tab.getRowData(tab.selectedIndex);
var ar1 = data['spisok'].split('^^');
var ar2 = data['setki'].split('^^');
var cb = document.getElementById('ico1');
var cb1 = document.getElementById('ico2');
var indx = cbr.getValue()-1; //alert(data['spisok']+'\n'+data['setki']);
if (ar1[indx]!='') {
cb.style.border='3 solid red';
cb.title = 'открепить СПИСКИ';
}
else {
cb.style.border='3 solid green';
cb.title = 'прикрепить СПИСКИ';
}
if (ar2[indx]!='') {
cb1.style.border='3 solid red';
cb1.title = 'открепить СЕТКИ';
}
else {
cb1.style.border='3 solid green';
cb1.title = 'прикрепить СЕТКИ';
}
}

ClientMethod FU(par) [ Language = javascript ]
{
var str = '';
var rsSex = zen('rsSex');
if (rsSex.getValue()=='') {
rsSex.focus();
alert('Пожалуйста укажите пол !!!');
return;
}
var tab = zen('tabtour');
var data = tab.getRowData(tab.selectedIndex);
var tourName = data['Name'];
var idFU = par==1 ? 'fu1':'fu2';
var fu1 = zen(idFU);
var ar = fu1.getValue().split('\\');
var ar2 = data[par==1 ? 'spisok':'setki'].split('^^');
if (idFU=='fu1'&&ar2[2]==1) {
alert('Прежде чем выполнять действия со списками, снимите пожалуйста признак "Показывать списки"\nна странице "Ввод и редактирование заявок игроков на турниры!"');
return;
}
if ((rsSex.getValue()==1 ? ar2[0]:ar2[1])!='') {
str = 'Турнир: '+tourName + ' '+(rsSex.getValue()==1 ? 'ЮНОШИ':'ДЕВУШКИ');
if (fu1.getValue()!='') {
str += '\nПодтверждаете замену старого файла ' + (par==1 ? 'списков ':'сеток ');
str += (rsSex.getValue()==1 ? ar2[0]:ar2[1]) + '\nновым файлом '+ (par==1 ? 'списков ':'сеток ') + ar[ar.length-1] + '?';
}
else {
str += '\nПодтверждаете открепление файла '+(par==1 ? 'списков ':'сеток ') + (rsSex.getValue()==1 ? ar2[0]:ar2[1]) +'?';
}
}
else {
if (fu1.getValue()=='') {alert('Чтобы прикрепить файл его необходимо выбрать!!!'); fu1.focus(); return;}
str = 'Турнир: '+tourName + ' '+(rsSex.getValue()==1 ? 'ЮНОШИ':'ДЕВУШКИ');
str += '\nПодтверждаете прикрепление файла '+(par==1 ? 'списков ':'сеток ') + ar[ar.length-1] +'?';
}
if (!confirm(str)) {alert('на выход');return;}
var res = this.Save(1,tab.getValue(),par,rsSex.getValue(),ar[ar.length-1]);
if (res==0) {alert('Произошла ошибка, повторите действие');return;}
else {
tab.executeQuery(true);
zen('form').reset();
zen('ic1').refreshContents();
zen('ic2').refreshContents();
}
}

Method Save(par, idTour, pole, tSex, tFN) As %String [ ZenMethod ]
{
s tObj = ##class(RTT.TOURNAMENT).%OpenId(idTour,,.sc)
if $$$ISERR(sc) q 0
if par=1 {
if $g(pole)=1 { //список
if $g(tSex)=1 {s tObj.fileNameMale = $s($g(tFN)'="":$g(tFN),1:"") } //имя файла списков (мальчики)
elseif $g(tSex)=2 {s tObj.fileNameFemale = $s($g(tFN)'="":$g(tFN),1:"")} //имя файла списков (девочки)
}
elseif $g(pole)=2 { //сетки
if $g(tSex)=1 {s tObj.fileDrawMale = $s($g(tFN)'="":$g(tFN),1:"") } //имя файла сеток (мальчики)
elseif $g(tSex)=2 {s tObj.fileDrawFemale = $s($g(tFN)'="":$g(tFN),1:"")} //имя файла сеток (девочки)
}
}
elseif par=2 {
s tObj.hasStarted = $s(tObj.hasStarted=1:0,0:1,1:1)
}
s res=tObj.%Save()
if $$$ISERR(res) q 0
q 1
}

ClientMethod TourSelect(tab) [ Language = javascript ]
{
if (tab.selectedIndex<0) return;
var form = zen('form');
if (tab.getValue()=='') {form.setHidden(true);return;}
form.reset();
form.setHidden(false);
/*
var ifr=zen('iframe');
ifr.src='WEB.FileUpload.cls?TYPE=1&ID='+tab.getValue();
ifr.refreshContents();
*/
zen('tID').setValue(tab.getValue());
var data = tab.getRowData(tab.selectedIndex);
var rs = zen('rsSex');
if (data != null) {
if (data['tourSex']=='М'||data['tourSex']=='DBL М'||data['tourSex']=='DBL М+Ж') {rs.setValue(1);rs.setDisabled(true);}
else if (data['tourSex']=='Ж'||data['tourSex']=='DBL Ж') {rs.setValue(2);rs.setDisabled(true);}
else {rs.setValue('');rs.setDisabled(false);rs.refreshContents();}
if (data['tStart']=='да') {
var btn = zen('btnStarted');
btn.setProperty('caption','снять отметку "Начавшийся"');
btn.setProperty('controlStyle','background:#ACE1AF;');
}
else {
var btn = zen('btnStarted');
btn.setProperty('caption','отметить как "Начавшийся"');
btn.setProperty('controlStyle','background:#F88379;');
}
var cb = document.getElementById('ico1');
var cb1 = document.getElementById('ico2');
var spis=data['spisok'].split('^^');
if (spis[2]==0) {
if (spis[0]!=''||spis[1]!='') {
cb.style.border='3 solid red';
cb.title = 'открепить СПИСКИ';
}
else {
cb.style.border='3 solid green';
cb.title = 'прикрепить СПИСКИ';
}
}
else if (spis[2]==1) {
cb.style.border='3 solid red';
cb.title = 'открепить СПИСКИ';
}
//alert(data['spisok'])

if (data['setki']!='^^') {
cb1.style.border='3 solid red';
cb1.title = 'открепить СЕТКИ';
}
else {
cb1.style.border='3 solid green';
cb1.title = 'прикрепить СЕТКИ';
}
}
var cb = document.getElementById('ico1');
var cb1 = document.getElementById('ico2');
if (rs.getValue()=='') {
cb.style.border='';
cb.title = '';
cb1.style.border='';
cb1.title = '';
return;
}
}

Method DrawIco(pSeed As %String) As %Status
{
if pSeed="a" &html<<img style="cursor: pointer;" id='ico1' src='images/Edit.png' width='50px' height='50px' onclick="zenPage.FU(1);"/>>
if pSeed="b" &html<<img style="cursor: pointer;" id='ico2' src='images/grid3.JPG' width='50px' height='50px' onclick="zenPage.FU(2);"/>>
q $$$OK
}

Method DrawFileName(pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status
{
s p1 = $p($tr(%query(pName),$c(0)),"^^")
s p2 = $p($tr(%query(pName),$c(0)),"^^",2)
s p3 = $p($tr(%query(pName),$c(0)),"^^",3)
s s = %query("tourSex")
if ((s="DBL М")||(s="DBL М+Ж")||(s="COM М")||((s="COM М+Ж"))) {s s="М"}
elseif ((s="DBL Ж")||(s="COM Ж")) {s s="Ж"}
if ((s="МЖ")||(s="DBL МЖ")||(s="COM МЖ")) {
if (p1'="")&&(p2'="") { &html<#(p1)#<br>#(p2)#> }
ElseIf p1'="" { &html<#(p1)#<br>&nbsp> }
elseif p2'="" { &html<&nbsp<br>#(p2)#> }
elseif p3=1 {&html<списки из базы>}
else {&html<&nbsp>}
}
elseif s="М" {
if p1'="" { &html<#(p1)#> }
elseif p3=1 {&html<списки из базы>}
else {&html<&nbsp>}
}
elseif s="Ж" {
if p2'="" { &html<#(p2)#> }
elseif p3=1 {&html<списки из базы>}
else {&html<&nbsp>}
}
Quit $$$OK
}

Method DrawSex(pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status
{
s p = %query(pName)
if p="МЖ" &html<М<br>Ж>
else &html<#(p)#>
Quit $$$OK
}

Method CreateT(Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) As %ResultSet
{
Set tRS = ""
Set tSC = $$$OK
Set tTOP=$S(+pInfo.rows=0:"",1:" TOP "_(pInfo.rows+1)_" ")
Set tSELECT=""
Set tFROM="RTT.TOURNAMENT" ;pInfo.tableName
Set tWHERE=""
Set tORDERBY=pInfo.orderByClause
If (pInfo.sortColumn'="") {
Set tORDERBY=pInfo.sortColumn_$S(pInfo.sortOrder="desc":" desc",1:"")_$S(tORDERBY="":"",1:",") _ tORDERBY
}
Set tGROUPBY=pInfo.groupByClause
Set n=$O(pInfo.columns(""))
While (n'="") {
If ($G(pInfo.columns(n))'="") {
#; process column expression, if present
Set tColExpr=$G(pInfo.columnExpression(pInfo.columns(n)))
Set tColExpr=$S(tColExpr'="":tColExpr_" ",1:"")_pInfo.columns(n)
Set tSELECT=tSELECT_$S(tSELECT="":"",1:",")_tColExpr
}
Set n=$O(pInfo.columns(n))
}

If ($GET(pInfo.filters("Name"))'="") {
Set tWHERE=tWHERE_$SELECT(tWHERE="":"",1:" AND ") _
"UPPER("_pInfo.columnExpression("Name")_")"_pInfo.filterOps("Name")_" UPPER('"_ pInfo.filters("Name")_"')"
}
If ($GET(pInfo.filters("SD"))'="") {
Set tWHERE=tWHERE _ $SELECT(tWHERE="":"",1:" AND ")
s op = $e(pInfo.filters("SD"),1)
if op?1P {
s val = $zdh($e(pInfo.filters("SD"),2,*),4,,6)
s tWHERE=tWHERE_"TOCHAR(CLAIM->startDate) "_op_$s(op'="=":"= ",1:" ")_val
}
elseif pInfo.filters("SD")?4N {
s tWHERE=tWHERE_"YEAR(CLAIM->startDate)"_pInfo.filterOps("SD")_" '"_ pInfo.filters("SD")_"'"
}
else { s tWHERE=tWHERE _pInfo.columnExpression("SD")_pInfo.filterOps("SD")_" '"_ pInfo.filters("SD")_"'"}
}
If ($GET(pInfo.filters("CITY"))'="") {
Set tWHERE=tWHERE_$SELECT(tWHERE="":"",1:" AND ") _
pInfo.columnExpression("CITY")_pInfo.filterOps("CITY")_" '"_ pInfo.filters("CITY")_"'"
}

If ($GET(pInfo.filters("tourSex"))'="") {
Set tWHERE=tWHERE_$SELECT(tWHERE="":"",1:" AND ")_
"tourSex "_pInfo.filterOps("tourSex")_" '"_ pInfo.filters("tourSex")_"'"
}
If (pInfo.whereClause'="") {
If (tWHERE="") Set tWHERE=pInfo.whereClause
Else Set tWHERE=tWHERE_" AND ("_ pInfo.whereClause_")"
}

If tFROM="" Quit $$$ERROR($$$GeneralError,"Missing FROM clause")
If tSELECT="" Quit $$$ERROR($$$GeneralError,"Missing SELECT list")
Set sql="SELECT "_tTOP_" "_tSELECT_" FROM "_tFROM
Set:tWHERE'="" sql= sql _ " WHERE "_tWHERE
If (tGROUPBY'="") Set sql=sql_" GROUP BY "_tGROUPBY
If (tORDERBY'="") Set sql=sql_" ORDER BY "_tORDERBY
Set tRS=##class(%ResultSet).%New()
Set tSC=tRS.Prepare(sql)
Set pInfo.queryText=sql

Quit tRS
}

ClassMethod GetQuickLinks(Output pLinks) As %Status
{
Quit %application.GetQuickLinks(.pLinks)
}

Method %OnDrawHTMLBody() As %Status
{
s tab = %page.%GetComponentById("tabtour")
s pg = tab.columns.GetAt(3)
s pg.filterValue = ">"_$zd(+$H+(1-$zd(+$H,10)),4,,2)
Quit $$$OK
}

/// This client event, if present, is fired when the page is loaded.
ClientMethod onloadHandler() [ Language = javascript ]
{
var tab = zen('tabtour');
var column = tab.columns[1];
if ('' != column.getColName() && '' != column.filterType) {
ctrl = tab.findElement('filter1_' + column.getColName())
if (ctrl) ctrl.focus();
}
}

}


код: <fieldSet legend="Файл расписания"
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276630
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забудьте iframe как "страшный сон"
Вас "спасет" jquery и php
Никаких submit, никаких тегов form
Полная мультиброузерность
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276691
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin , ПХП-то тут причем? Раздел-то вроде как про Кащея.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276704
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin, Александр, как с вами связаться?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276712
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jquery не сам по себе работает, он просто скрывает механизм работы.
Подозреваю, что внутри тот же субмит сидит или что-то подобное.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276920
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,
Там (загрузка больших файлов) работает более низкоуровневый (по сравнению с Каше) php.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276943
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что при этом работает на клиенте?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37276991
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н., согласен :)
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37278763
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jquery работает через технологию AJAX, как и "всенародно" любимый ZEN :)
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37278782
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jquery api.jquery.com
php - www.php.net
dom - http://ru.wikipedia.org/wiki/Document_Object_Model
Все программируется в одну страницу
Нажатием кнопок, ссылок меняются в броузере только отдельные блоки страницы. Все делается легко и быстро. СУБД можно использовать любую
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37278802
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinВсе делается легко и быстро. СУБД можно использовать любую
Я тебе верю. Но только раздел тут про Кашея и его возможности... ;)
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37281354
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Так в связке с Cache это тоже все отлично работает
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37282444
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalin,

ну скиньте хоть один работающий пример, плиз
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37283052
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007servit,

сделал как у тебя в примере, но
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
	#dim %session As %CSP.Session
	#dim stream As %CSP.BinaryStream=pSubmit.%GetStream("FileStream")
	k ^A
	s ^A( 1 )=pSubmit.%GetValue("tID")
	q  1 
}
почему то
s ^A(1)=pSubmit.%GetValue("tID")
записывает пустодолжно быть
<text name="tID" />
а, не
<text id="tID" />

Посмотрите документацию на метод %ZEN.Submit: %GetValue() .
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37283105
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

спасибо большое )))
блин я как обычно: смотрю и не вижу
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37285162
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот интересно:

на странице, на которой раположен iframe, есть метод onload, который переводит фокус на первое поле фильтра в tablePane
после субмита, все равно происходит перезагрузка страницы, хотя визуально ничего не меняется, однако
метод onload выводит ошибку при выполнении команды focus(), типа элемент не найден или не видим )))

какие будут предложения, как все таки правильно сделать?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37285222
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007 , однако тестовый пример давай...
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37285956
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот
импорт в samples
потом выбрать строку в таблице
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37285999
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха-ха. А майлру то файлы прикрепляет флешем.
То-то я думал, как они выбор сразу нескольких файлов сделали.
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37286178
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю (пытаюсь) ради интереса показ статуса загрузки файлов.
Лочится сессия, собака. Никак не могу обойти, кроме как поправить класс %CSP.Session
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37286222
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да по большому счету и хрен с ним.
Не получается получить статус загрузки файла, так когда получаем управление внутри страницы - все данные уже получены.
Выглядит так, что страница какое-то время тупит, а потом раз - а все данные уже там.

Т.е. результат довольно скучный
Исходники с вырезанными экспериментами выкладываю, вдруг кому полезно будет, мало ли чего.
upload.csp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<html>
<head>
</head>
<body>
Страница сгенерирована #($zdt($h, 3 , 1 ))#
<div>
<iframe style='width:250px;height:30px;overflow:hidden;border:none;' src='uploaddata.csp'>
</iframe>
</div>
Страница сгенерирована #($zdt($h, 3 , 1 ))#
</body>
</html>
uploaddata.csp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<html>
<head>
</head>
<server>
#dim stream as %CSP.BinaryStream
s target="d:\temp\"

if %request.CountMimeData("file1")
	{d ##class(%File).CreateDirectoryChain(target)
	 s stream=%request.GetMimeData("file1")
	 s fl=##class(%File).%New()
	 s fl.Name=target_stream.FileName
	 d fl.Open("NWU")
	 d fl.CopyFrom(stream)
	 d fl.Close()
	}
</server>
<body style='margin:0px;'>
<form name=form1 enctype='multipart/form-data' method=post action='uploaddata.csp'>
	<input type=file name=file1 onchange=this.form.submit()>
</form>
</body>
</html>
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37287331
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все, разобрался
всем огромное спасибо
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37289387
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь возникла вот какая проблема:

как со страницы, загруженной в Iframe, вызвать метод обновления tablePane (executeQuery) главного родительского окна ?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37289419
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007как со страницы, загруженной в Iframe, вызвать метод обновления tablePane (executeQuery) главного родительского окна ?
Как вариант вместо документ написать

Код: plaintext
parent.frames["имя_фрейма"]
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37289446
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot krvsa]Ymka2007Как вариант вместо документ написать

Код: plaintext
parent.frames["имя_фрейма"]

Уже и забыл что там

Код: plaintext
zenPage.getComponentById('tpJob').executeQuery();

Но все равно как-то нужно втиснуть ДООМовские свойства...
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37298201
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

спасиб, разобрался
не так то просто оказалось, нужно было брать _zenIndex[N] где N индекс tablePane
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37298328
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жуть!
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37645079
Фотография Аленочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так же возникла проблема перезагрузки страницы после нажатия на submit.

С помощью вариантов предложенных выше через iframe получилось страницу визуально не перезагружать, но событие onloadHandler все-равно возникает. При этом св-ва страницы переданные через ZENURL ( Н-р: Property id As %String(ZENURL = "id"); ) - зачищаются. Что можно сделать, чтобы и файл на сервер загрузить и избежать перезагрузки страницы с вызовом onloadHandler?
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37645175
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АленочкаТак же возникла проблема перезагрузки страницы после нажатия на submit.

С помощью вариантов предложенных выше через iframe получилось страницу визуально не перезагружать, но событие onloadHandler все-равно возникает. При этом св-ва страницы переданные через ZENURL ( Н-р: Property id As %String(ZENURL = "id"); ) - зачищаются. Что можно сделать, чтобы и файл на сервер загрузить и избежать перезагрузки страницы с вызовом onloadHandler?

ну например файл можно отправить через IFRAME
либо воспользоваться готовыми скриптами на сторонних фреймворках например на jQuery, вариантов в интернете полно
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37645193
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АленочкаТак же возникла проблема перезагрузки страницы после нажатия на submit.
Такой лучше спрашивать в профильном разделе
http://www.sql.ru/forum/actualtopics.aspx?bid=61
...
Рейтинг: 0 / 0
как сделать чтобы при нажатии на submit не перезагружалась страница?
    #37645312
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АленочкаПри этом св-ва страницы переданные через ZENURL ( Н-р: Property id As %String(ZENURL = "id"); ) - зачищаются.Это решается с помощью %response.Context
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / как сделать чтобы при нажатии на submit не перезагружалась страница?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]