我正在学习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;
}
?>
答案 0 :(得分:0)
使用ajax从php文件中获取密码并更新文本字段。
使用jquery和ajax的一些示例代码:
$.ajax({
url : 'ajax.php',
type : 'post',
success : function(data){
$('#password_field').val(data)
}
});
答案 1 :(得分: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.
答案 2 :(得分: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...
答案 3 :(得分: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>