2013-12-13 5 views
0

Я пытаюсь загрузить всплывающее окно, как только страница загрузится. Я использовал это уже на сайте, и он работает. Однако сейчас ничего не появляется.Onload popup javascript

<script> 


window.onload = function (<?php echo $name . "," . $club ;?>){ 
       var txt = name + " has been deleted from this club"; 

       $.prompt(txt,{ 
        buttons:{Delete:true}, 
        close: function(e,v,m,f){ 

         if(v){ 
          var uid = f.userid; 

          window.location = "manageclub.php?id=" + club;         

         } 
         else{} 

        } 
       }); 
      } 



</script> 
+3

Код на стороне сервера в Javascript НЕОБХОДИМО. – Achrome

+2

Это не имеет смысла 'function ()' Посмотрите на визуализированный код на странице, просмотрите источник. – epascarello

+1

@AshwinMukhija WTF Вы говорите? Нет ничего плохого в работе с JavaScript-серверами, и это даже не имеет никакого отношения к этому вопросу. – Brad

ответ

2

Прежде всего, я должен сказать, что этот подход не совсем прав; вы создаете новую страницу, чтобы вы могли показать приглашение JavaScript, которое затем перенаправится на другую страницу ... Я уверен, что это можно было бы сделать лучше.

Это, пожалуйста, вот ответ. Вы не можете передавать аргументы внутри определения функции; определите эти переменные внутри тела функции;

Во-вторых, вы не избегаете club должным образом для использования в URL-адресе.

window.onload = function() 
{ 
    var name = <?php echo json_encode($name) ?>, 
    club = <?php echo json_encode($club) ?>, 
    txt = name + " has been deleted from this club"; 

    $.prompt(txt, { 
    buttons:{Delete:true}, 
    close: function(e,v,m,f) { 
     if (v) { 
     var uid = f.userid; 

     window.location = "manageclub.php?id=" + encodeURIComponent(club);  
     } 
    } 
    }); 
} 

Я использую encodeURIComponent(), чтобы избежать club правильно внутри JavaScript в коде перенаправления и json_encode() избежать PHP переменные, которые будут использоваться в JavaScript.