эхо JavaScript с переполнением стека

я пытался повторить JavaScript с php.

    if(isset($_GET['question'])) {
$question = $_GET['question'];
echo '
<script>
var r = confirm("sind Sie sicher, dass sie den Patienten entfernen wollen? Der Vorgang kann nicht rückgängig gemacht werder! Außerdem könnte es Fehler in der Vergebung der KundenIDs verursachen!");
if (r == true) {
x = "self.location.href='; echo "'overviewPatienten.php?KID_uebergabe_del=".$question."'";
echo'
}</script>';
}

Я пытался запустить этот код (index.php? question = 1), но окно предупреждения не появляется.

Может кто-нибудь мне помочь?

Спасибо!

-1

Решение

Почему так много эхо-команд? Вы просто запутаетесь и у вас будет какая-то синтаксическая ошибка … как насчет:

echo '
<script>
var r = confirm("sind Sie sicher, dass sie den Patienten entfernen wollen? Der Vorgang kann nicht rückgängig gemacht werder! Außerdem könnte es Fehler in der Vergebung der KundenIDs verursachen!");
if (r == true) {
x = "self.location.href=\'overviewPatienten.php?KID_uebergabe_del='.$question.'\'";
}
</script>';
0

Другие решения

Я бы сделал это немного по-другому: используя ajax call.

например:

        $.ajax({
url:'index.php',
data: "question="+TheQuestionNumbr,
success: function(res){
if(res){
yourJavascriptFunction();
}

},
error: function(res){
alert('Some error message via javascript here or echoed error message using res:'+res);
}
});

Таким образом, вам не нужно запускать echoed-скрипт таким образом: вы просто получаете echoed-параметр и делаете соответственно его значению.

Это понятно? Можете ли вы использовать вещи таким образом?

0

Вы можете использовать JavaScript в PHP, используя этот синтаксис.

echo '<script type="text/javascript">';
echo 'document.write("Hello World!")';
echo '</script>';
0

  • Ваш HTML имеет <meta charset="utf-8">?
    • Проверять <script type="text/javascript"> вместо <script>
    • Изменить это x= ="self.location.href... за это x = "self.location.href...

Надеюсь, это поможет 🙂

-1
По вопросам рекламы [email protected]