需要特定用户名/密码才能将表单提交到服务器的函数
function that requires a specific username/password in order to submit a form to a server
>我需要编写一个接受特定用户名和密码的函数。 如果密码错误,则会显示一个错误框,如果正确,则提交。
我知道这是一个非常基本的问题,但它是那些很难在谷歌上以正确方式表达的事情之一,任何帮助将不胜感激。
这是我的代码:
function logon (userName, password)
{
userName = document.GetElementById("testusername");
password = document.GetElementById("testpassword");
if(userName == "username" && password == "password")
{
ONSUtils.LoadPage('pgMain');
}
else
{
// Show Error Message Here
}
}
问题是您将实际的 DOM 与字符串"用户名"和"密码"进行比较。您需要改用 value
属性。
function login(){
var username = document.getElementById("testusername").value;
var password = document.getElementById("testpassword").value;
if(username == "username" && password == "password"){
//Log-in
}else{
//Error
}
}
话虽如此,将用户名和密码放在javascript文件中是不明智的,因为它们被转移到最终用户,并且可以清楚地阅读,从而使黑客攻击您的安全变得非常容易。如果您需要进行安全检查,它确实应该是服务器端的。
你的问题到底是什么?
无论如何,此if(userName == "username" && password == "password")
意味着您的用户名和密码存储在页面本身中,对吗?因此,任何能够在浏览器中找到"显示页面源代码"上下文菜单的人都可以发现您的凭据......
不幸的是,你不能用纯粹的javascript来做到这一点,并且通过任何合理的意义来确保它是安全的。正如c-simle所说 - 任何用户都可以单击"查看源代码"并发现密码。
执行此操作的方法是将表单提交到服务器,然后让服务器脚本(php,asp,ror)检查数据库,并返回结果(成功或失败)。您可以使用javascript+ajax或简单地向服务器提交普通表单来执行此操作。
k,
因为你是javascript的新手,你尝试的是一个很好的尝试,现在我将解释如何使用javascript进行验证
form:
<form name="frm1" action="submit.html" onsubmit="logon()">
User Name:<input type="text" name="unm" id="unm" />
Password:<input type="text" name="pwd" id="pwd" />
<input type="submit" value="Submit" />
</form>
Function:
function logon()
{
userName = document.GetElementById("unm").value;
password = document.GetElementById("ped").value;
if(userName =="" ||password =="")
{
alert("Enter all the fields correctly");
unm.focus();//or you can check each field separately to focus the empty field
}
if(userName == "username" && password == "password")
{
//it redirects to the page what i gave in form action i.e., submit.html
}
else
{
if(userName != "username")
{
alert("Enter correct UserName");
unm.focus();//this will sends control to the username text box
}
else
{
if(password != "password")
{
alert("Enter correct password");
pwd.focus();//this will sends control to the username text box
}
}
}
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 服务器仅在表单提交时调用 preventDefault 时返回 500 错误
- 在铁表单提交后检查服务器响应
- 在表单提交时将客户端 HTML 表数据提取到服务器端 PHP 脚本
- 排队表单提交请求,直到服务器返回
- 如何保存提交的HTML表单的服务器端副本
- 对表单提交禁用ASP.NET服务器验证
- 如何将HTTPS表单提交到HTTPS服务器
- 通过表单提交阻止了自己从服务器
- 在下载文件出错的情况下,管理表单提交上的JSON服务器响应
- AngularJS - 如何将表单提交到服务器上的控制器
- 在表单提交之前与AngularJS同步调用服务器
- 需要特定用户名/密码才能将表单提交到服务器的函数
- jQuery表单提交返回false而不是等待服务器响应
- jQuery表单提交给远程Node服务器API