powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / не обновляются данные если включен self.close();
1 сообщений из 1, страница 1 из 1
не обновляются данные если включен self.close();
    #33639999
X_Jerry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть родительское окно, из него вызывается дочернее через window.open
далее в дочернем окне вводятся данные в форму, после чего делается сабмит, рефреш родителя, и закрытие окна
document.AddComment.submit();
window.opener.refresh();
self.close();
Сабмит вызывает php, который сохраняет данные в базу.
НО ! в половине случаев данные в базе не обновляются. Экспериментально устанослено, что если отключить self.close(); то данные сохраняются замечательно. Пробовал экспериментировать с ignore_user_abort ( true ); но ни фига. Проблема решаться не желает

Буду очень признателен если сможете помочь.

В php и java я новичок, я здесь никаких других вопиющих ляпов не сделал ?

Спасибо

Код: plaintext
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.
<?php
// РОДИТЕЛЬ
require_once("include_db_connect.php");

echo $logged_user."<br><br>";

?>
<html><body> <table cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" border="1">
<tr><td>jobID</td><td rowspan= 3 >Задача</td><td rowspan= 3 >Отметки о выполнении</td></tr>
<tr><td>Запись создана</td></tr>
<tr><td>Запись изменена</td></tr>


<? 
// Функция для замены пустого значения на  
  Function nz($arg) {
     if  (empty($arg))   return  " ";
     else                return  $arg; }

  $qry = mysql_query("Select `jobID`, `CreatedBy`, `CreatedTime`, `LastModBy`, `LastModTime`, `ToDo`, `Done` 
         From `job`"); 

   While  ($row = mySql_fetch_array($qry))  {
    
    echo "<tr><td>".$row["jobID"]."</td> <td rowspan=3>".$row["ToDo"]."</td><td rowspan=3>".nz($row["Done"])."</td></tr>
          <tr><td>".$row["CreatedBy"]." ".date("d.m.y H:i", $row["CreatedTime"])."</td></tr>
          <tr><td>".$row["LastModBy"]." ".date("d.m.y H:i", $row["LastModTime"])."</td></tr>          
          ";
    }
 

?>

</table><br><br>

<button onclick="fun1()">Open window</button>
<br><br><button onclick="refresh()">Refresh</button>  

<script language="JavaScript">
function fun1(){    win = window.open('jobs_home_add_comment.php','AddComment','toolbar=0'); }
</script>

<script language="JavaScript">
<!--
var sURL = unescape(window.location.pathname);
function refresh() {
    //  This version of the refresh function will cause a new entry in the visitor's history.  for browsers that only support JavaScript 1.0.
    window.location.href = sURL;}
//-->
</script>

<script language="JavaScript1.1">
<!--
function refresh() {
    //  This version does NOT cause an entry in the browser's page view history.  Most browsers will always retrieve
    //  the document from the web-server whether it is already in the browsers page-cache or not.

    window.location.replace( sURL );
}
//-->
</script>

<script language="JavaScript1.2">
<!--
function refresh() {
    window.location.reload( true ); // false=all we need to do is cause the JavaScript block in the document body to be re-evaluated (no server call)
}
//-->
</script>
</html></body>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?php
// ДОЧЕРНЕЕ ОКНО
require_once("include_db_connect.php");
echo $logged_user."<br><br>";
?>

<html><body> 

<FORM NAME="AddComment" action="jobs_home_add_comment_go.php" method="post">
Введите примечание: <BR>
<INPUT TYPE="text" NAME="TheComment" VALUE="" SIZE= 50  cols="50" rows="5">

<BR><BR>

<INPUT TYPE="button" VALUE="Send Comment" onClick="SendComment()">
</FORM>

<script>
function SendComment(){
  document.AddComment.submit();
  window.opener.refresh();
  self.close(); // ЕСЛИ УБРАТЬ ЭТУ СТРОКУ, ТО ДАННЫЕ ПЕРЕДАЮТСЯ НОРМАЛЬНО !!!
}
</script>
</html></body>
Код: plaintext
[/SRC][SRC java]

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
// ОБРАБОТКА
require_once("include_db_connect.php");

//echo $logged_user."<br><br>";


  ignore_user_abort ( true );

  $qry = mysql_query("Update job set Done = Concat(Done, '".$_POST['TheComment']."') Where jobID=1");
 
?>
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / не обновляются данные если включен self.close();
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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