Html表单onsubmit编辑表单中的文本字段?

时间:2012-05-17 12:16:50

标签: php html forms

我正在学习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 个答案:

答案 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>