Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Функция срабатывает два раза, а должна - один (https://javascript.ru/forum/dom-window/26275-funkciya-srabatyvaet-dva-raza-dolzhna-odin.html)

pevec1 02.03.2012 22:31

Функция срабатывает два раза, а должна - один
 
Функция срабатывает два раза, а должна - один. А в пхп скрите не выводятся надписи echo.
Коды в двух файлах.
Первый - index.php :
Код:

<?php
ini_set('session.use_cookies',1);
ini_set('session.use_only_cookies',1);
session_start();
$_SESSION['id']=$_GET['id'];
?>
<html>
<head>
</head>
 <body>

 <table>
 <tr>
 <td>
<?php
for ($i=1;$i<=10;$i++) {
$delu='delete'.$i;
        if ($_POST[$delu]=='удалить') {
                $_SESSION['id']=$i;
                $_SESSION['delu']=$_POST[$delu];
                echo $_SESSION['id'];
                break;
        }
}

        $json= json_encode($_SESSION['id']);
        print "<script language='javascript'>var id=$json;</script>";
?>
<script language='javascript' type='text/javascript'>
    function query_delete(){
        if(confirm("Удалить?")){
            window.location.href='index.php?delete=удалить' + '&id=' + id;
        }
        else{
            window.location.href='index.php?delete=нет' + '&id=' + id;
        }
    };
 </script>
<?php                       

if ($_SESSION['delu']=='удалить') {
                                       
print "<script language='javascript' type='text/javascript'>";
                        print "query_delete();";
print "</script>";
                if ($_GET['delete']=='удалить') {$_SESSION['delu']='';
                echo "удалить";
                } elseif ($_GET['delete']=='нет') {$_SESSION['delu']='';
                echo "нет";
                }
}
$_POST[$delu]='';
?>
</td>
</tr>
</table>
<table>
<tr>
<td>
123
<?php
$_SESSION['id']=4;
include("table.php");
?>
</td>
</tr>
</table>
</body>
</html>

Второй файл - table.php :
Код:

<tr>
<td>
<form name="form11" method="post" action="index.php">
                <INPUT TYPE="submit" name="delete<?php echo $_SESSION['id'];?>" VALUE="удалить"></form>
</td>
</tr>

Надо, чтобы ява-функция срабатывалась один раз, и затем печатался текст условия.

T-sh 03.03.2012 04:29

у вас тут прям борщ с вареньем.

разделите языки и станет намного удобнее и понятнее..


Часовой пояс GMT +3, время: 01:29.