У меня есть код php, который генерирует случайный пароль. Рядом с текстовым полем есть текст, в котором говорится: «Нажмите, чтобы создать случайный пароль».
То, что я хочу достичь, – это когда текст в двойных кавычках выше, нажатие на код PHP выполняется, и сгенерированный случайный пароль затем вставляется в текстовое поле, которое находится рядом с текстом выше в двойных кавычках.
Как это можно сделать? Я думаю, может быть, jQuery, но не уверен, как я буду делать то, что хочу выше.
Вот вы … полный и рабочий пример 🙂
Поместите файлы index.html 'и' passgenerator.php 'в один каталог.
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#generate').click(function(){ $.get('passgenerator.php', function(data) { $('[name=password]').val(data); }); }) }); </script> </head> <body> <form action=""> <input type="text" name="password"> <input type="button" id="generate" value="Generate password"> </form> </body> </html>
passgenerator.php
<?php echo sha1(uniqid()); ?>
либо используйте ajax для вызова страницы сценария, которая генерирует пароль или как col. shrapnel говорит, что порт генерирует функцию javascript (что является лучшей идеей)
Пример (с jquery с использованием ajax)
$.get("/PasswordGenerator.php",function(password) { $("#TextboxID").val( password ); });
где TextboxID – это идентификатор текстового поля, и вы хотите, чтобы пароль был добавлен.
Не делайте этого в php. Просто сделайте это в javascript. Вот очень аккуратный учебник, который должен показать вам пошаговые инструкции: http://www.mediacollege.com/internet/javascript/number/random.html
Патрик Эванс прав. Вы можете настроить свою форму следующим образом:
<input type="button" value="Generate" onclick="generate();">
И в разделе вы должны определить функцию
<script type="text/javascript"> function generate(){ $.get("/PasswordGenerator.php",function(password) { $("#TextboxID").val( password ); }); } </script>
Попробуйте этот вызов ajax, чтобы получить контент с помощью ajax и отобразить его на div.
$("#generate").click(function(){ $.get('url:to:urPHP',{ data:urData },function(data){ $("#generatedPassword").html(data); }); }); <input type="" id="generate" value="click to Generate a random password" /> <div id="generatedPassword"> <div>