0

我正在学习 php 和 html。

我试图在按下提交按钮时运行一个函数。然后我希望它使用该函数中的变量编辑表单上的文本字段。无需进入新页面……就像自我刷新一样。

我该怎么做呢?谢谢。

我想我已经看到了如何用 JavaScript 做到这一点getelementbyID。但我需要通过 php 来完成。

也许一个简单的解释方法是:按下按钮时,它会自动在文本字段中生成密码。

我正在使用的功能:

<?
function genkey($length){
    $key = '';
    list($usec, $sec) = explode(' ', microtime());
    mt_srand((float) $sec + ((float) $usec * 100000));

    $possibleinputs = array_merge(range('z','a'),range(0,9),range('A','Z'));

    for($i=0; $i<$length; $i++) {
        $key .= $possibleinputs{mt_rand(0,61)}; }
    return $key;
}
?>
4

4 回答 4

0

使用ajax从 php 文件中获取密码并更新文本字段。

一些使用 jquery 和 ajax 的示例代码:

$.ajax({
url : 'ajax.php',
type : 'post',
success : function(data){
$('#password_field').val(data)        
}
});
于 2012-05-17T12:21:12.637 回答
0
$.ajax({
    url: "/your_php_page/function", 

    type: "POST",

    data: "parameters you want to post to the function",

    success: function(data){
        $('#input_field_to_be_updated').val(data);
    }

});

Your php function should be echoed the password which you want to place it in input box.
于 2012-05-17T12:29:03.413 回答
0

像这样:

//    index.php
<?php
function genkey($length){
    $key = '';
list($usec, $sec) = explode(' ', microtime());
mt_srand((float) $sec + ((float) $usec * 100000));

$possibleinputs = array_merge(range('z','a'),range(0,9),range('A','Z'));

for($i=0; $i<$length; $i++) {
    $key .= $possibleinputs{mt_rand(0,61)}; }
return $key;
}

$data = array();
if( !empty($_POST['variable']) ) {
    $data['variable'] = genkey( strlen($_POST['variable']) );
} else {
    $data['variable'] = '';
}
?>
//...HTML...
<form action="" method="POST">
<input name="variable" value="<?=$data['variable']?>">
<input type="submit" value="toPHP">
</form>
//...HTML...
于 2012-05-17T12:30:03.927 回答
0

使用该函数创建一个单独的 php 文件(keygen.php)。

<?php

$length=$_GET['klength'];

 echo genkey($length);

  function genkey($length){
   $key = '';
  list($usec, $sec) = explode(' ', microtime());
  mt_srand((float) $sec + ((float) $usec * 100000));

$possibleinputs = array_merge(range('z','a'),range(0,9),range('A','Z'));

for($i=0; $i<$length; $i++) {
  $key .= $possibleinputs{mt_rand(0,61)}; }
return $key;
}

?>

比在您的 html 文件中添加此代码

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"    type="text/javascript"></script>

<script type="text/javascript">
 $(document).ready(function() {

$.get('keygen.php?length=32', function(data) {
alert(data)
 });    

});
</script>
于 2012-05-17T12:32:01.927 回答