UPDATE允許使用Javascript
提交的引導基於類別名稱按鈕我創建了一個解決此問題。我只是將hide
添加到密碼字段中,然後在電子郵件有效後讓腳本顯示它們。然後我做了它,一旦有效的密碼,提交按鈕被啓用。我會更新我下面的代碼,以反映該解決方案
原來的問題
我創建使用引導框架的形式。我有兩個腳本(一個用於檢查電子郵件和另一個用於檢查密碼)。
查看此腳本正在操作中:http://www.green-panda.com/adminarea/temp.php然後單擊添加新用戶。注意:我將在找到解決方案並將其發佈到此處後刪除此頁面。
電子郵件的腳本
<script>
function validateForm()
{
var x=document.forms["addUser"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
document.getElementById("emaildiv").className +=" error";
document.getElementById("passdiv1").className =" control-group hide";
document.getElementById("passdiv2").className =" control-group hide";
document.getElementById("emailhelp").innerHTML =" Must be a valid email address";
}
else{
document.getElementById("emaildiv").className =" control-group success";
document.getElementById("passdiv1").className =" control-group";
document.getElementById("passdiv2").className =" control-group";
document.getElementById("emailhelp").innerHTML =" Looks Good!";
}
}
</script>
密碼腳本
<script>
function validatePwd() {
var invalid = " "; // Invalid character is a space
var minLength = 8; // Minimum length
var maxLength = 16; //Maximum Length
var pw1 = document.addUser.password.value;
var pw2 = document.addUser.password2.value;
// check for a value in both fields.
if (pw1 == '' || pw2 == '')
{
document.getElementById("passdiv1").className +=" error";
document.getElementById("passdiv2").className +=" error";
document.getElementById("passhelp").innerHTML =" Type your password twice.";
return false;
}
// check for minimum length
if (document.addUser.password.value.length < minLength)
{
document.getElementById("passdiv1").className +=" error";
document.getElementById("passdiv2").className +=" error";
document.getElementById("passhelp").innerHTML ="Your password must be 8-16 characters long.";
return false;
}
// check for maximum length
if (document.addUser.password.value.length > maxLength)
{
document.getElementById("passdiv1").className +=" error";
document.getElementById("passdiv2").className +=" error";
document.getElementById("passhelp").innerHTML ="Your password must be 8-16 characters long.";
return false;
}
// check for spaces
if (document.addUser.password.value.indexOf(invalid) > -1)
{
document.getElementById("passdiv1").className +=" error";
document.getElementById("passdiv2").className +=" error";
document.getElementById("passhelp").innerHTML ="Sorry, spaces are not allowed.";
return false;
}
else {
if (pw1 != pw2)
{
document.getElementById("passdiv1").className +=" error";
document.getElementById("passdiv2").className +=" error";
document.getElementById("passhelp").innerHTML ="Passwords must match.";
return false;
}
else {
document.getElementById("passdiv1").className =" control-group success";
document.getElementById("passdiv2").className =" control-group success";
document.getElementById("submit").className ="btn btn-primary";
document.getElementById("passhelp").innerHTML ="Looks Good!.";
return true;
}
}
}
</script>
正如你可以在腳本中看到,一旦需求得到滿足,在這兩種情況下的類都改爲「控制組成功「默認情況下,我的提交按鈕有一個」禁用「類,導致按鈕不可點擊。我試圖創建一個腳本,它自動檢查emaildiv
和passdiv2
的類名,並且一旦兩個類都設置成功,則將按鈕類從btn btn-primary disabled
更改爲btn btn-primary
。
這是我迄今爲止,並在所有
在更新後的溶液中不會工作,我不再使用下面的腳本。
<script>
function submit() {
var x = document.getElementById("emaildiv").className;
var y = document.getElementById("passdiv2").className;
if (x == "control-group success" || y == "control-group success")
{
document.getElementById("submit").className ="btn btn-primary";
}
else
{
document.getElementById("submit").className ="btn btn-primary disabled";
}
}
</script>
我一直在努力使這項工作,因爲在午餐前,現在我有但沒有成功返回。請儘可能以任何方式提供幫助!謝謝!
更新:是不是因爲沒有什麼叫function submit()
?如果是的話,我會如何使它自動做到這一點?
你可以使用你所有的代碼在jsfiddle.net上創建一個jsfiddle嗎? – sbspk 2013-05-10 19:51:32
那麼它必須讓所有的引導腳本和CSS鏈接到它的工作。但是我可以給這個程序一個鏈接:http://www.green-panda.com/adminarea/temp.php,然後點擊「添加新用戶」按鈕,它應該提供這個表單。 – user2371301 2013-05-10 19:54:29
你甚至不需要禁用按鈕。請使用這篇文章來了解基本的表單驗證http://www.tutorialspoint.com/javascript/javascript_form_validations.htm – sbspk 2013-05-10 20:04:23