如何在javascript代码下压缩。 [英] how to compress below javascript code.

查看:48
本文介绍了如何在javascript代码下压缩。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 <   div  >  
电子邮件:
< 输入 < span class =code-attribute> type = text name = email id = txtEmail onblur = emailform() >
< la bel id = lblError1 style = color:red > < / label >
< / div >
< span class =code-keyword>< div >
名称:
< 输入 type = te xt 名称 = email id = txtName onblur = nameform() >
< label id = lblError2 style = color:red > < / label >
< / div >

< script >


function emailform()
{
var x = document.getElementById(txtEmail)。value;
if(x == 0){


document.getElementById(lblError1)。innerHTML =输入有效的电子邮件地址;

}
else {
document.getElementById(lblError1)。innerHTML =;

}
}
函数nameform()
{
var x = document.getElementById(txtName)。value;
if(x == 0){
document.getElementById(lblError2)。innerHTML =输入名称;
}
else {

document.getElementById(lblError2)。innerHTML =;
}


}

< / script >





终止冗余代码,具有相同的功能

解决方案

尝试这个,, :)



  function 验证(valueData,errorMsg,lblID){

if (valueData != ){

document .getElementById(lblID).innerHTML = ;
}
else {

document .getElementById (lblID).innerHTML = errorMsg;

}

}







 <   div  >  
电子邮件:
< 输入 < span class =code-attribute> type = text name = email id = txtEmail onblur = 验证(this.value,'输入电子邮件','lblError1 ) <跨度class =code-keyword>>
< label < span class =code-attribute> id = lblError1 style = color:red > < ; / label >
< / div >
< div >
名称:
< 输入 type = text < span class =code-attribute> name = email id = txtName onblur = 验证(this.value,'输入名称','lblError2') >
< label id = lblError2 style = color:red > < / label >
< / div >





您可以在传递三个参数后从一个javascript函数中验证多个文本框(this.value,'错误消息','标签的ID )


确定。你可以在这里做几件事:-)



1.学习如何使用?:运算符

2.不要使用括号大约一行 if / else 语句

3.不要创建变量只是为了在中使用它们 c> code>语句。例如,您不需要创建变量x

4.尝试将空行保持为最小值。

5.密切关注重构,如上所述在Nirav的回答中



这几乎都在Javascript中 - 你的HTML非常好。

这是你的代码在跟随之后的样子以上提示:



 <   div  >  
电子邮件:
< 输入 type = text 姓名 = 电子邮件 id = txtEmail onblur = validate('txtEmail','lblError1','输入有效的电子邮件地址') >
< label id = lblError1 style < span class =code-keyword> = color:red > < span class =code-keyword>< / label >
< / div >
< div >
名称:
< 输入 type = text name = email id = txtName onblur = validate('txtName','lblError2','输入名称') >
< label id = lblError2 style = color:red > < / label >
< / div >

< script >
函数validate(element,outputElement,errormessage){
document.getElementById(outputElement).innerHTML = document.getElementById(element).value == 0)?错误信息 : ;
}
< / script >


<div>
        Email:
        <input type="text" name="email" id="txtEmail" onblur="emailform()">
        <label id="lblError1" style="color:red"></label>
    </div>
    <div>
        Name:
        <input type="text" name="email" id="txtName" onblur="nameform()">
        <label id="lblError2" style="color:red"></label>
    </div>

    <script>


 function emailform()
 {
        var x = document.getElementById("txtEmail").value;
            if (x==0) {


                document.getElementById("lblError1").innerHTML = "Enter valid email Address";

            }
            else {
                document.getElementById("lblError1").innerHTML = "";

            }
            }
    function nameform()
{
 var x = document.getElementById("txtName").value;
            if (x==0) {
                 document.getElementById("lblError2").innerHTML = "Enter Name";
            }
            else {

                document.getElementById("lblError2").innerHTML = "";
            }


        }

        </script>



Eleminate redundant code ,with same funtionality

解决方案

TRY THIS,, :)

function Validate(valueData,errorMsg,lblID) {

          if (valueData != "") {

              document.getElementById(lblID).innerHTML = "";
          }
          else {

              document.getElementById(lblID).innerHTML = errorMsg;

          }

      }




<div>
      Email:
      <input type="text" name="email" id="txtEmail" onblur="Validate(this.value,'Enter Email','lblError1')">
      <label id="lblError1" style="color:red"></label>
  </div>
  <div>
      Name:
      <input type="text" name="email" id="txtName" onblur="Validate(this.value,'Enter Name','lblError2')">
      <label id="lblError2" style="color:red"></label>
  </div>



You can validate multiple textboxes from only one javascript function after passing three parameters (this.value,'Error Message','ID of Label')


OK. Several things you can do here :-)

1. Learn how to use the ?: operator
2. Don't use brackets around one-line if/else statements
3. Don't create variables simply to use them in if statements. Eg you don't need to create the variable "x"
4. Try to keep empty lines to a mininum.
5. Keep an eye out for refactoring as mentioned in Nirav's answer

That's all pretty much in the Javascript - your HTML is pretty good.
Here's what your code looks like after following the tips above:

<div>
    Email:
    <input type="text" name="email" id="txtEmail" onblur="validate('txtEmail', 'lblError1', 'Enter valid email address')">
    <label id="lblError1" style="color:red"></label>
</div>
<div>
    Name:
    <input type="text" name="email" id="txtName" onblur="validate('txtName', 'lblError2', 'Enter name')">
    <label id="lblError2" style="color:red"></label>
</div>
 
<script>
function validate(element, outputElement, errormessage) {
    document.getElementById(outputElement).innerHTML = document.getElementById(element).value==0) ? errormessage : "";
}
</script>


这篇关于如何在javascript代码下压缩。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆