亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用循環更改 Javascript 中的背景顏色

使用循環更改 Javascript 中的背景顏色

陪伴而非守候 2021-12-23 19:40:32
在 JavaScript 中,我試圖檢查必填字段是否為空。如果輸入字段為空,我正在遍歷數組并嘗試更改輸入字段的背景。但是,這樣做并沒有按預期工作。document.getElementById(String(fields[i])).style.color("red");這是我的 css 文件* {    margin: 0px;     padding: 0px;     box-sizing: border-box;}body, html {  background: #DCD8D7;    height: 100%;    font-family: Helvetica, sans-serif;}p {    font-family: Helvetica;    font-size: 14px;    line-height: 1.7;    color: #616060;    margin: 0px;}input {    outline: none;    border: none;}textarea {  outline: none;  border: none;}.container {  width: 100%;    min-height: 100vh;  display: flex;  flex-wrap: wrap;  justify-content: center;  align-items: center;  padding: 10px;  background: transparent;  position: relative;}.form-wrap {  width: 770px;  background: #fff;  border-radius: 10px;  overflow: hidden;  position: relative;}.contact-title {  width: 100%;  position: relative;  z-index: 1;  display: flex;  flex-wrap: wrap;  flex-direction: column;  align-items: center;  background-repeat: no-repeat;  background-size: cover;  background-position: center;  padding: 64px 15px 64px 15px;}.contact-title::before {  content: "";  display: block;  position: absolute;  z-index: -1;  width: 100%;  height: 100%;  top: 0;  left: 0;  background-color: rgba(54,84,99,0.7);}.contact-form {  width: 100%;  display: flex;  flex-wrap: wrap;  justify-content: space-between;  padding: 43px 88px 57px 190px;}.div-input-form {  width: 100%;  position: relative;  border-bottom: 1px solid #b2b2b2;  margin-bottom: 26px;}.input-label {  font-family: Helvetica;  font-size: 15px;  color: #808080;  line-height: 1.2;  text-align: right;  position: absolute;  top: 14px;  left: -105px;  width: 80px;}.user-input {  font-family: Helvetica;  font-size: 15px;  color: #525050;  line-height: 1.4;  display: block;  width: 100%;  background: transparent;  padding: 0 5px;}input.user-input {  height: 45px;}
查看完整描述

2 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

你不能那樣用style.color。您正在嘗試更改數組中某個項目的顏色,而不是該項目本身。這也不是改變背景顏色的方法。我添加了一個調用required所需元素的類。然后我得到了這些項目并在for-loop. 這可能不是獲得答案的最佳方式,但您會想要這樣的東西。我添加了確定需要在alert錯誤中填充哪個錯誤字段的功能。如果您確實填充了錯誤,則在您下次提交表單時紅色背景會消失。希望這可以幫助您走上正軌。


* {

    margin: 0px; 

    padding: 0px; 

    box-sizing: border-box;

}


body, html {

  background: #DCD8D7;

    height: 100%;

    font-family: Helvetica, sans-serif;

}


p {

    font-family: Helvetica;

    font-size: 14px;

    line-height: 1.7;

    color: #616060;

    margin: 0px;

}


input {

    outline: none;

    border: none;

}


textarea {

  outline: none;

  border: none;

}


.container {

  width: 100%;  

  min-height: 100vh;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  align-items: center;

  padding: 10px;

  background: transparent;

  position: relative;

}


.form-wrap {

  width: 770px;

  background: #fff;

  border-radius: 10px;

  overflow: hidden;

  position: relative;

}


.contact-title {

  width: 100%;

  position: relative;

  z-index: 1;

  display: flex;

  flex-wrap: wrap;

  flex-direction: column;

  align-items: center;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

  padding: 64px 15px 64px 15px;

}


.contact-title::before {

  content: "";

  display: block;

  position: absolute;

  z-index: -1;

  width: 100%;

  height: 100%;

  top: 0;

  left: 0;

  background-color: rgba(54,84,99,0.7);

}


.contact-form {

  width: 100%;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  padding: 43px 88px 57px 190px;

}


.div-input-form {

  width: 100%;

  position: relative;

  border-bottom: 1px solid #b2b2b2;

  margin-bottom: 26px;

}


.input-label {

  font-family: Helvetica;

  font-size: 15px;

  color: #808080;

  line-height: 1.2;

  text-align: right;


  position: absolute;

  top: 14px;

  left: -105px;

  width: 80px;

}


.user-input {

  font-family: Helvetica;

  font-size: 15px;

  color: #525050;

  line-height: 1.4;

  display: block;

  width: 100%;

  background: transparent;

  padding: 0 5px;

}


input.user-input {

  height: 45px;

}


textarea.user-input {

  min-height: 115px;

  padding-top: 14px;

  padding-bottom: 13px;

}


.div-submit-button {

  width: 100%;

  display: flex;

  flex-wrap: wrap;

  padding-top: 8px;

}


.submit-button {

  display: flex;

  justify-content: center;

  align-items: center;

  padding: 0 20px;

  min-width: 160px;

  width: 100%;

  height: 50px;

  background-color: #3b88bb;

  border-radius: 25px;

  font-family: Helvetica;

  font-size: 16px;

  color: white;

  line-height: 1.2;

}


.radio-radio

{

     -webkit-appearance: none;

     appearance: none;

     display: inline-block;

     position: relative;

     background-color: #f1f1f1;

     color: rgb(92, 91, 91);

     top: 10px;

     height: 25px;

     width: 25px;

     border: 0;

     border-radius: 40px;

     cursor: pointer;     

     margin-right: 7px;

     outline: none;

}

.radio-radio:checked::before

{

     position: absolute;

     font: 13px/1 'Open Sans', sans-serif;

     left: 8px;

     top: 5px;

     content: '\02143';

     transform: rotate(40deg);

}


.checkbox

{

     border-radius: 5px;

     display: inline-block;

     margin-right: 7px;

     height: 10px;

     width: 10px;

}


.select-occ {

  display: block;

    font-size: 14px;

    font-family: sans-serif;

    font-weight: 700;

    color: rgb(53, 51, 51);

    line-height: 1.5;

    padding: 7px;

    width: 100%;

    max-width: 100%;

    box-sizing: border-box;

    margin: 0;

    border: 1px solid #aaa;

    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);

    border-radius: 10px;

    -moz-appearance: none;

    -webkit-appearance: none;

    background-color: #fff;

    background-repeat: no-repeat, repeat;

    background-position: right .7em top 50%, 0 0;

    background-size: .65em auto, 100%;

}


#circle-container {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 35vw;

    height: 35vh;

    position:relative;

}


.circle {

  width: 30vh;

    height: 30vh;

    position: absolute;

    border-radius: 50%;

}


#firstLayer {

    font-size: 23px;

    font-family: "Oswald", sans-serif;

    letter-spacing: 1.5px;

    display: flex;

    justify-content: center;

    align-items: center;

    color: white;

    font-weight: bold;

    transition: 1s;

}


#secondLayer {

    background-color: #CCCCFF   ;

    transition: 1s;

    opacity: 0.5;

}


#thirdLayer {

    background-color: black;

    transition: 1s;

    opacity: 0.5;

}


#fourthLayer {

    background-color: cornflowerblue;

    transition: 1s;

    opacity: 0.5;

}

#fifthLayer {

    background-color: #FFFF99;

    transition: 1s;

    opacity: 0.5;

}


#circle-effect {

    position:relative;

    width: 30vh;

    height: 30vh;

    border-radius: 50%;

    overflow: hidden;

}


#circle-effect:hover #secondLayer {

    transform: translate(0px, 75px);

}

#circle-effect:hover #thirdLayer {

    transform: translate(0px, -75px);

}

#circle-effect:hover #fourthLayer {

    transform: translate(75px, 0px);

}

#circle-effect:hover #fifthLayer {

    transform: translate(-75px, 0px);

}

<!DOCTYPE html>

<html>

<head>

    <title>Contact Us</title>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" type="text/css" href="css/contact_form.css">

    <script type='text/javascript'>

        function validateForm() {

            var fname = document.forms["_contact_form"]["fname"].value;

            var lname = document.forms["_contact_form"]["lname"].value;

            var email = document.forms["_contact_form"]["email"].value;

            var input_message = document.forms["_contact_form"]["input_message"].value;

   

  var fields = document.getElementsByClassName("required");

            for (i=0;i<fields.length;i++){


                if (fields[i].value === ""){

                 alert("Please Enter a " + fields[i].name );

                    fields[i].style.backgroundColor = "red";

                    }

                    else{

                    fields[i].style.backgroundColor = "";

                    

                    }

            }

             return false;

        }

    </script>

</head>

<body>

    <div class="container">

        <div class="form-wrap">

            <div class="contact-title">

                <div id="circle-container">

                        <div id="circle-effect">

                        <div class="circle" id="fifthLayer"></div>

                        <div class="circle" id="fourthLayer"></div>

                        <div class="circle" id="thirdLayer"></div>

                        <div class="circle" id="secondLayer"></div>

                        <div class="circle" id="firstLayer">Contact Me!</div>

                        </div>

                    </div>

            </div>


            <form name = "_contact_form" class="contact-form" onsubmit="return validateForm()" action="contactform.php" method="POST">

                <div class="div-input-form">

                    <label class="input-label">First Name: </label>

                    <input id="fname" class="user-input required" type="text" name="firstName" placeholder="First Name">

                </div>


                <div class="div-input-form">

                    <label class="input-label">Last Name: </label>

                    <input id = "lname" class="user-input required" type="text" name="lastName" placeholder="Last Name">


                </div>


                <div class="div-input-form">

                    <label class="input-label">Email: *</label>

                    <input id = "email" class="user-input required" type="text" name="email" placeholder="Enter email addess">

                </div>


                <div class="div-input-form">

                    <label class="input-label">Phone:</label>

                    <input class="user-input" type="text" name="phone" placeholder="Enter phone number">

                </div>


                <div class="div-input-form">

                    <label class="input-label">Gender:</label>

                    <input type="radio" class="radio-radio" name = "gender" value="Male"> Male </br>

                    <input type="radio" class="radio-radio" name = "gender" value="Female"> Female </br>

                    <input type="radio" class="radio-radio" name = "gender" value="Other"> Other </br> </br>

                </div>


                <div class="div-input-form">

                    <label class="input-label">Occupation:</label>

                    <select name = "dropdown" class="select-occ">

                        <option value="Student">Student</option>

                        <option value="Teacher">Teacher</option>

                    </select>

                </div>


                <div class="div-input-form">

                    <label class="input-label">Age:</label>

                    <input type="radio" class="radio-radio" name = "age" value="18orBelow"> 15 or Below </br>

                    <input type="radio" class="radio-radio" name = "age" value="19to21"> 16 to 20 </br>

                    <input type="radio" class="radio-radio" name = "age" value="21orAbove"> 21 or above </br> </br>

                </div>


                <div class="div-input-form">

                </br>

                    <label class="input-label">How Did You Hear About Us:</label>

                    <input type="checkbox" class="checkbox" name="hearaboutus"> Internet Search<br>

                    <input type="checkbox" class="checkbox" name="hearaboutus"> Friends or Family<br>

                    <input type="checkbox" class="checkbox" name="hearaboutus"> Other<br> </br>

                </div>


                <div class="div-input-form">

                    <label class="input-label">Message: *</label>

                    <textarea id="input_message" class="user-input required" name="message" placeholder="Your Comment..."></textarea>

                </div>


                <div class="div-submit-button" >

                    <button id ='submit' name = 'submit-button' class="submit-button">Submit</button>

                </div>

            </form>

        </div>

    </div>

</body>

</html>


查看完整回答
反對 回復 2021-12-23
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

function validateForm() {


    var fields = [{name:'fname', value:''}, {name:'lname', value:''}, {name:'email', value:''}, {name:'input_message', value:''}];


    fields[0].value = document.forms["_contact_form"]["lname"].value;

    fields[1].value = document.forms["_contact_form"]["email"].value;

    fields[2].value = document.forms["_contact_form"]["input_message"].value;


    for (i=0;i<fields.length;i++){

        if (fields[i].value.length == 0) {

            alert("Please Fill The Required Fields");

            document.getElementById(fields[i].name).style.color("red");

            return false;

        }

    }

}


查看完整回答
反對 回復 2021-12-23
  • 2 回答
  • 0 關注
  • 415 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號