powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Дважды срабатывает скрипт
13 сообщений из 13, страница 1 из 1
Дважды срабатывает скрипт
    #38293368
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, у меня товарищи еще один вопрос

У меня происходит следующее

есть скрипт, или так сказать метод

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
function edit_guest(idGuest) {
    boxAddEditShow();
	
	//e.stopPropagation();
	
    $("#cancel_add_guest").click(function(){
        
        $("#FName").val("");
        $("#Name").val("");
        $("#SName").val("");
        $("#SexG").val("");
        $("#DataR").val("");
        $("#TypeDoc").val("");
        $("#SDoc").val("");
        $("#NDoc").val("");
        $("#VDoc").val("");
        $("#KemVDoc").val("");
        $("#Addr").val("");
        $("#MestRab").val(""); 
         
        $("#box_add_edit").hide();  
    });

	
    $(".box_close").click(function(){
        
        $("#FName").val("");
        $("#Name").val("");
        $("#SName").val("");
        $("#SexG").val("");
        $("#DataR").val("");
        $("#TypeDoc").val("");
        $("#SDoc").val("");
        $("#NDoc").val("");
        $("#VDoc").val("");
        $("#KemVDoc").val("");
        $("#Addr").val("");
        $("#MestRab").val("");        
        
        $("#box_add_edit").hide();         
    });	
	
	
    var url_ = "Registers/ajax/get_info_client.php";
    if (idGuest != 0) {
        
        $.ajax({
            type: "GET",
            async: false,
            url: url_,
            dataType: "json",
            data: 'id_guest='+idGuest,
            error: function(){  alert("Ошибка"); },
            success: function (data) {
                         $("#FName").val(data[0]['FirstName']);
                         $("#Name").val(data[0]['Name']);
                         $("#SName").val(data[0]['SecondName']);
                         $("#SexG").val(data[0]['Sex']);
                         $("#DataR").val(data[0]['Data_R']);
                         $("#TypeDoc").val(data[0]['DocType']);
                         $("#SDoc").val(data[0]['DocSeria']);
                         $("#NDoc").val(data[0]['DocNum']);
                         $("#VDoc").val(data[0]['DocDataV']);
                         $("#KemVDoc").val(data[0]['DocKem']);
                         $("#Addr").val(data[0]['Adress']);
                         $("#MestRab").val(data[0]['MestRab']);						 
                     }
        });              
    }	
	
	
	$("#add_guest").click(function(e){	    
	     
		 
	     var err="";
         var fname = $("#FName").val();
         var name = $("#Name").val();
         var sname = $("#SName").val();
         var sexg = $("#SexG").val();
         var datar = $("#DataR").val();
         var tdoc = $("#TypeDoc").val();
         var sdoc = $("#SDoc").val();
         var ndoc = $("#NDoc").val();
         var vdoc = $("#VDoc").val();
         var kemvdoc = $("#KemVDoc").val();
         var addr = $("#Addr").val();
         var mrab = $("#MestRab").val();		 
		 
         if (fname == "") { err=err+"Введите фамилию.\n" }
         if (name == "") { err=err+"Введите имя.\n" }
         if (sdoc == "") { err=err+"Введите серию документа.\n" }
         if (ndoc == "") { err=err+"Введите номер документа.\n" }
         if (vdoc == "") { err=err+"Введите дату выдачи документа.\n" } 
         if (kemvdoc == "") { err=err+"Введите кем выдан документ.\n" }
         if (addr == "") { err=err+"Введите адрес проживания.\n" }
         if (mrab == "") { err=err+"Введите место работы." }
       
         if (err != "")  { alert(err); return false; } 	
	     
  
		  alert("editing...");		  
		  $("#box_add_edit").hide();
		  
	 
	});

}



сам блок box_add_edit, у него в стилях прописано display:none

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
  <div id="box_add_edit">
      <a class="box_close"></a>
      <p>Добавить нового гостя</p>
      <table>
         <tr>
           <th>Фамилия: </th>
           <td><input type="text" id="FName" value="" /></td>
         </tr>
         <tr>
           <th>Имя: </th>
           <td><input type="text" id="Name" value="" /></td>
         </tr>
         <tr>
           <th>Отчество: </th>
           <td><input type="text" id="SName" value="" /></td>
         </tr>
         <tr>
           <th>Дата рождения: </th>
           <td><input type="text" id="DataR" class="datapicker" value="" readonly="true" /></td>
         </tr>
         <tr>
           <th>Пол: </th>
           <td><select id="SexG"><option value="М">Мужской</option><option value="Ж">Женский</option></select></td>
         </tr>
         <tr>
           <th>Тип документа: </th>
           <td><select id="TypeDoc"><option value="1">Паспорт</option><option value="2">Удостоверение</option></select></td>
         </tr>         
         <tr>
           <th>Серия документа: </th>
           <td><input type="text" id="SDoc" value="" /></td>
         </tr>
         <tr>
           <th>Номер документа: </th>
           <td><input type="text" id="NDoc" value="" /></td>
         </tr>
         <tr>
           <th>Дата выдачи: </th>
           <td><input type="text" id="VDoc" class="dataVid" value="" readonly="true" /></td>
         </tr>
         <tr>
           <th>Кем выдан: </th>
           <td><input type="text" id="KemVDoc" value="" /></td>
         </tr>
         <tr>
           <th>Адрес проживания: </th>
           <td><input type="text" id="Addr" value="" /></td>
         </tr>
         <tr>
           <th>Место работы: </th>
           <td><input type="text" id="MestRab" value="" /></td>
         </tr>                                                                               
      </table>
      <div>
         <button id="add_guest">Сохранить</button>
         <button id="cancel_add_guest">Отмена</button>
      </div>
   </div>



Короче у меня когда обновищь страницу, нажмешь на ссылке открывается типа как форма, затем, когда я нажимаю на кнопку с id "add_guest", происходит закрытие, но перед этим выходит алерт, теперь когда заново открываю этот блок, и нажимаю кнопку Сохранить, у меня появляется alert один раз, а затем окрывается alert предыдущих.

Надеюсь нормально написал, не пойму в чем дело?
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293375
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такой же скрипт у меня и на добавление

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
function add_new_guest() {
    	
    $("#FName").val("");
    $("#Name").val("");
    $("#SName").val("");
    $("#SexG").val("");
    $("#DataR").val("");
    $("#TypeDoc").val("");
    $("#SDoc").val("");
    $("#NDoc").val("");
    $("#VDoc").val("");
    $("#KemVDoc").val("");
    $("#Addr").val("");
    $("#MestRab").val("");    
    
    boxAddEditShow();
   
    
    $(".box_close").click(function(){
        
        $("#FName").val("");
        $("#Name").val("");
        $("#SName").val("");
        $("#SexG").val("");
        $("#DataR").val("");
        $("#TypeDoc").val("");
        $("#SDoc").val("");
        $("#NDoc").val("");
        $("#VDoc").val("");
        $("#KemVDoc").val("");
        $("#Addr").val("");
        $("#MestRab").val("");        
        
        $("#box_add_edit").hide();         
    });
    
    $("#cancel_add_guest").click(function(){
        
        $("#FName").val("");
        $("#Name").val("");
        $("#SName").val("");
        $("#SexG").val("");
        $("#DataR").val("");
        $("#TypeDoc").val("");
        $("#SDoc").val("");
        $("#NDoc").val("");
        $("#VDoc").val("");
        $("#KemVDoc").val("");
        $("#Addr").val("");
        $("#MestRab").val(""); 
         
        $("#box_add_edit").hide();  
    });
    
    $("#add_guest").click(function(e){
        var err="";	
        var fname = $("#FName").val();
        var name = $("#Name").val();
        var sname = $("#SName").val();
        var sexg = $("#SexG").val();
        var datar = $("#DataR").val();
        var tdoc = $("#TypeDoc").val();
        var sdoc = $("#SDoc").val();
        var ndoc = $("#NDoc").val();
        var vdoc = $("#VDoc").val();
        var kemvdoc = $("#KemVDoc").val();
        var addr = $("#Addr").val();
        var mrab = $("#MestRab").val();
        
        
        if (fname == "") { err=err+"Введите фамилию.\n" }
        if (name == "") { err=err+"Введите имя.\n" }
        if (sdoc == "") { err=err+"Введите серию документа.\n" }
        if (ndoc == "") { err=err+"Введите номер документа.\n" }
        if (vdoc == "") { err=err+"Введите дату выдачи документа.\n" }
        if (kemvdoc == "") { err=err+"Введите кем выдан документ.\n" }
        if (addr == "") { err=err+"Введите адрес проживания.\n" }
        if (mrab == "") { err=err+"Введите место работы." }
        
        if (err != "")  { alert(err); return false; } 
                
        
        var dataString = 'fname='+fname+'&name='+name+'&sname='+sname+'&sexg='+sexg+'&datar='+datar+'&tdoc='+tdoc+
                         '&sdoc='+sdoc+'&ndoc='+ndoc+'&vdoc='+vdoc+'&kemvdoc='+kemvdoc+'&addr='+addr+'&mrab='+mrab;       
        
		
        $.ajax({
            type: "POST",
            async: false,
            url: "/pacient/add/",
            dataType: "html",
            data : dataString,
            beforeSend: function() { },
            error: function(){  alert("Ошибка"); },                  
            success: function(data) {               
                   $("#list").append(data);
 
                
                $("#FName").val("");
                $("#Name").val("");
                $("#SName").val("");
                $("#SexG").val("");
                $("#DataR").val("");
                $("#TypeDoc").val("");
                $("#SDoc").val("");
                $("#NDoc").val("");
                $("#VDoc").val("");
                $("#KemVDoc").val("");
                $("#Addr").val("");
                $("#MestRab").val(""); 
                                 
                $("#box_add_edit").hide();
            } 
        });
        
    }) 
}
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293378
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И когда научимся уважать коллег и не подкладывать им простыни? Так не короче?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
function edit_guest(idGuest) {
    boxAddEditShow();
    $("#cancel_add_guest").click(function(){
        $("#FName, #Name, #SName, #SexG, #DataR, #TypeDoc, #SDoc, #NDoc, #VDoc, #KemVDoc, #Addr, #MestRab").val(""); 
        $("#box_add_edit").hide();  
    });
	
    $(".box_close").click(function(){
        $("#FName, #Name, #SName, #SexG, #DataR, #TypeDoc, #SDoc, #NDoc, #VDoc, #KemVDoc, #Addr, #MestRab").val(""); 
        $("#box_add_edit").hide();         
    });	
	
    var url_ = "Registers/ajax/get_info_client.php";
    if (idGuest != 0) {
        $.ajax({type:"GET", async:false, url:url_, dataType:"json", data:"id_guest=" + idGuest, error:function(){alert("Ошибка");},
            success:function(data){
                var _data = data[0];
                $("#FName").val(_data.FirstName);
                $("#Name").val(_data.Name);
                $("#SName").val(_data.SecondName);
                $("#SexG").val(_data.Sex);
                $("#DataR").val(_data.Data_R);
                $("#TypeDoc").val(_data.DocType);
                $("#SDoc").val(_data.DocSeria);
                $("#NDoc").val(_data.DocNum);
                $("#VDoc").val(_data.DocDataV);
                $("#KemVDoc").val(_data.DocKem);
                $("#Addr").val(_data.Adress);
                $("#MestRab").val(_data.MestRab);
            }
        });              
    }	
	
    $("#add_guest").click(function(e){	    
        var err="", fname = $("#FName").val(), name = $("#Name").val(), sname = $("#SName").val(), sexg = $("#SexG").val(), datar = $("#DataR").val(), tdoc = $("#TypeDoc").val();
        var sdoc = $("#SDoc").val(), ndoc = $("#NDoc").val(), vdoc = $("#VDoc").val(), kemvdoc = $("#KemVDoc").val(), addr = $("#Addr").val(), mrab = $("#MestRab").val();
         if (fname == "") { err=err+"Введите фамилию.\n" }
         if (name == "") { err=err+"Введите имя.\n" }
         if (sdoc == "") { err=err+"Введите серию документа.\n" }
         if (ndoc == "") { err=err+"Введите номер документа.\n" }
         if (vdoc == "") { err=err+"Введите дату выдачи документа.\n" } 
         if (kemvdoc == "") { err=err+"Введите кем выдан документ.\n" }
         if (addr == "") { err=err+"Введите адрес проживания.\n" }
         if (mrab == "") { err=err+"Введите место работы." }
         if (err != "")  { alert(err); return false; } 	
	 alert("editing...");		  
	 $("#box_add_edit").hide();
    });
}
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293379
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, за поправку

А вот почему у меня возникает такое что когда вызываю, метод add_guest все сначало добавляется нормально, затем когда я вызываю метод edit_guest, у меня происходит не редактирование, а заново добаляется запись, да еще выскакивает ошибка, что поля не введены.
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293386
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aina2008,

А не происходит-ли навешивание дублирующих обработчиков при каждом вызове edit_guest ?
Тогда будет столько алертов, сколько дублей обработчиков уже навешано, причём, пока висит алерт, выполнение JS-кода останавливается.
P.S. Это предположение, так как с jquery не работаю.
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293387
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но мне нужно вызывать, каждый раз когда редактирую данные.
А где интересно там дублируются?
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293389
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aina2008но мне нужно вызывать, каждый раз когда редактирую данные.
А где интересно там дублируются?для того, чтобы функция вызывалась сколько угодно раз, достаточно один раз задать обработчик ... .click(function(){...});
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293390
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asws,

насколько я понял я так и делаю
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293392
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а сколько раз вызываются функции edit_guest() и add_new_guest() ?
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293393
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asws,

а как лучше сделать ели можно код, а то я что то запарился
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293394
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я в jquery не разбираюсь, но если метод .click() добавляет новый обработчик, не затирая старый,
и при этом любая из функций edit_guest() или add_new_guest() будет вызвана более одного раза, или будут поочереди вызваны обе,
значит будет добавлено по 2 и более аналогичных обработчика клика, со всеми вытекающими последствиями.

Вместо вызова alert() делайте вывод сообщения в консоль и смотрите что будет - так будет лучше видно что происходит
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293399
Aina2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asws,

Кажись понял, сейчас начал исправлять, блин как я сам до этого не додумался, наверное запарился
...
Рейтинг: 0 / 0
Дважды срабатывает скрипт
    #38293548
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aina2008asws,

а как лучше сделать ели можно код, а то я что то запарилсяПростыни по стиранию значений можно сократить до одной строчки:
Код: javascript
1.
$(".container input[id][type=text]").val("");

Остальные тоже, но думать об этом нужно было заранее, задавая элементам id (или другие атрибуты) в соответствии с названиями полей.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Дважды срабатывает скрипт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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