EDYCJA: Moja funkcja została zerwana, z /n
w nim. Dzięki, Woofmeow za prowadzenie mnie do zakwestionowania mojej funkcji!Używanie PHP do ładowania Javascript
Jestem nowy w programowaniu. Próbowałem wszystkiego najlepszego i wiele się nauczyłem w ciągu ostatnich kilku miesięcy (kilka tutaj!), Ale jestem zaskoczony.
Mam skrypt PHP, który wywołuje z innego skryptu PHP i nie mogę uzyskać kodu do uruchomienia. Kiedyś biegał, potem zmieniłem pewne rzeczy i nie zapisałem zmian, nie jestem pewien, co zrobiłem. Wiem, wiem, błąd debiutanta (nauczyłem się tego!). JavaScript wyświetla się poprawnie na źródle strony widoku, ale już się nie uruchamia.
Oto źródło strony, być może jest to takie proste:
<script type="text/javascript">
function delete_user(user_id)
{if (confirm("Are you sure you want to delete this user?" + "\nThere's really no going back!")) {window.location = "delete_user.php?user_id=" + user_id;}}</script>
Oto PHP: Skrypt show_users wysyła to do widza:
$delete_user_script = <<<EOD
function delete_user(user_id)
{
if (confirm("Are you sure you want to delete this user?"
+ "\nThere's really no going back!"))
{
window.location = "delete_user.php?user_id=" + user_id;
}
}
EOD;
PHP w HTML nie została zmieniona od kiedy działa:
<?php
while ($user = mysql_fetch_array($result))
{
$user_row = sprintf("<li><a href='show_user.php?user_id=%d'>%s %s</a>(<a href='mailto:%s'>%s</a>)<a href='javascript:delete_user(%d);'><img class='delete_user' src='../images/delete.png' width='15' /></a></li>",
$user['user_id'],
$user['first_name'],
$user['last_name'],
$user['email'],
$user['email'],
$user['user_id']);
echo $user_row;
}
?>
I wreszcie, Oglądasz skrypt, który daje nam nasze źródło strony (Uwaga: $ embedded_javascript jest $ delete_user_script):
if (!is_null($embedded_javascript))
{
echo '<script type="text/javascript">' . $embedded_javascript . '</script>';
}
Kiedy myszy na obrazek, aby usunąć użytkownika, to nadal pokazuje prawidłowy odnośnik Script ("javascript: delete_user (% d) ", gdzie% d jest identyfikatorem użytkownika), ale wygląda na to, że funkcja nie jest już zdefiniowana, nic się nie dzieje. Wszelkie pomysły są bardzo cenne! Dzięki!
Twój php i js mieszanie się. jeden jest po stronie serwera, drugi po stronie klienta –
Może opublikować link na żywo lub łącze do skrzypiec (http: // jsfiddle.net /), który pokazuje renderowany kod - z wszystkimi wrażliwymi wyblakłymi literami lub renderowanym kodem skopiowanym z View Source. Osobiście nie mogę wizualizować całego obrazu w ten sposób. –
Podejrzewam, że wstawiasz swój skrypt, aby zdefiniować funkcję 'delete_user' po skrypcie wywołującym tę funkcję. Ale nie mogę powiedzieć, nie widząc tego wszystkiego. Użyj phpfiddle, aby pokazać nam, co robisz http://phpfiddle.org/ – deltree