![](/img/trans.png)
[英]How to add specific designed textbox which is of html form on button click
[英]how to print a specific text in html form on click of a button PHP?
我正在开发基于 php 的密码生成器,我有一个 html 表单,其中包含网站名称、用户名和密码的输入。 到目前为止,用户必须输入密码才能对其进行加密和存储,我想要的是除了密码输入表单之外还有一个按钮,单击该按钮时在密码字段中输入生成的密码。
这是我正在使用的表格-
</head>
<body
<form class="form" method="post">
<!--Input Fields-->
<input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
<input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
<input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
<input type="submit" name="submit" value="SAVE" class="submit">
</form>
</div>
这是 function 我想在按下按钮时执行-
function password_generate($chars)
{
$Uppercase="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$Lowercase="abcdefghijklmnopqrstuvwxyz";
$Numbers="1234567890";
$Symbols="!@#$&*+_?%";
$data = $Uppercase.$Lowercase.$Numbers.$Symbols;
return substr(str_shuffle($data), 0, $chars);
}
使用 PHP 和 JavaScript 可以轻松实现。
PHP 代码:
<body
<form class="form" method="post">
<!--Input Fields-->
<input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
<input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
<input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
<input type="button" class="button" value="Generate" onClick="randomPassword(10);" tabindex="2"> <br>
<input type="submit" name="submit" value="SAVE" class="submit">
</form>
</div>
JS代码:
<script>
function randomPassword(length) {
var chars = "abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+<>ABCDEFGHIJKLMNOP1234567890";
var pass = "";
for (var x = 0; x < length; x++) {
var i = Math.floor(Math.random() * chars.length);
pass += chars.charAt(i);
}
myform.password.value = pass;
}
</script>
希望这对你有用。
它会生成与您在 PHP function 中提到的相同的随机密码。
var pass = "(return substr(str_shuffle($data), 0, $chars));
这是一个 JavaScript function 的简单示例,它(伪)随机生成密码并设置密码字段。
由于默认情况下密码字段不显示值,因此本示例将生成的密码放在页面上的<span>
标记中。 这并不理想,仅用于演示目的。 理想情况下,密码只会出现在密码字段中,用户将切换是否显示密码。 但是因为我不知道你的页面的完整设置以及你在做什么,所以我在我的演示中这样做了。
function _RandomPassword(len) { let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890?@#$&*+_,%"; suggestion = ""; for(let i = 0; i < len. i++) suggestion += chars.split(""),sort((a. b) => Math.round(Math.random()*a.charCodeAt()) - Math.round(Math.random()*b.charCodeAt())).splice(-1);join(""). document.querySelector("#suggestion");textContent = suggestion. document.querySelector("[name='password']");value = suggestion; }
<form class="form" method="post"> <!--Input Fields--> <input type="text" name="website" placeholder="Website" required autocomplete="off"> <br> <input type="text" name="username" placeholder="Username" required autocomplete="off"> <br> <input type="password" name="password" placeholder="Password" required autocomplete="off"> <br> <span id="suggestion"></span> <input type="button" value="*Suggest*" onclick="_RandomPassword(8)"> <br> <input type="submit" name="submit" value="SAVE" class="submit"> </form>
此密码 function 采用 1 个参数(密码长度为len ),然后将您的字符列表转换为数组,随机排序,并取最后一个字符。 它循环并执行此操作,无论密码需要多长时间,然后将该值放入密码字段以及页面上的<span>
标记中。
按下 html 按钮时,在表单字段中获取自动生成的密码的正确答案和代码片段在这里 -
<!DOCTYPE html>
<html lang="en">
<head>
<title>Answer by @Ashutosh_7i</title>
</head>
<body>
<form class="form" method="post">
<input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
<input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
<input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
<span id="suggestion"></span> <input type="button" value="*Suggest*" onclick="_RandomPassword(8)"> <br>
<input type="submit" name="submit" value="SAVE" class="submit">
</form>
<script>
function _RandomPassword(len) {
let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$&*+_?%",
suggestion = "";
for(let i = 0; i < len; i++) suggestion += chars.split("").sort((a, b) => Math.round(Math.random()*a.charCodeAt()) - Math.round(Math.random()*b.charCodeAt())).splice(-1).join("");
document.querySelector("#suggestion").textContent = suggestion;
document.querySelector("[name='password']").value = suggestion;
}
</script>
</form>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.