При нажатии запустить PHP-код и вставить результат в текстовое поле? - PullRequest
0 голосов
/ 09 января 2011

У меня есть некоторый php-код, который генерирует случайный пароль.Рядом с текстовым полем у меня есть текст с надписью «Нажмите, чтобы создать случайный пароль».

Чего я хочу добиться, так это когда щелкают текст в двойных кавычках выше, что запускается код PHP, а затем сгенерированный случайный пароль вставляется в текстовое поле, расположенное рядом с текстом выше в двойных кавычках.

Как это можно сделать?Я думаю, может быть, jQuery, но не уверен, как я буду делать то, что я хочу выше.

Ответы [ 5 ]

2 голосов
/ 09 января 2011

Вот вам ... полный и рабочий пример:)
Поместите файлы '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());
?>
2 голосов
/ 09 января 2011

либо используйте ajax для вызова страницы скрипта, которая генерирует пароль, либо как col. Шрапнель говорит, что портирование генерирующей функции на javascript (что является лучшей идеей)

Пример (с использованием jquery с использованием ajax)

$.get("/PasswordGenerator.php",function(password)
{
    $("#TextboxID").val( password );
});

где TextboxID - это идентификатор текстового поля, к которому вы хотите добавить пароль.

0 голосов
/ 09 января 2011

Патрик Эванс прав. Вы можете настроить свою форму следующим образом:

<input type="button" value="Generate" onclick="generate();">

А в разделе вы должны определить функцию

<script type="text/javascript">
    function generate(){
$.get("/PasswordGenerator.php",function(password)
{
    $("#TextboxID").val( password );
});
}
</script>
0 голосов
/ 09 января 2011

Попробуйте этот вызов 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>
0 голосов
/ 09 января 2011

Не делайте этого в php. Просто сделайте это в JavaScript. Вот очень аккуратный урок, который должен показать вам пошаговые инструкции: http://www.mediacollege.com/internet/javascript/number/random.html

...