50-vue判斷某個標簽是否具有class屬性


(1)這里是input標簽

(2)js的方法,如果所有框都輸入了內容,就改變提交按鈕的樣式

(3)如果所有框都輸入了內容,即提交按鈕改變了,我們才允許vue使用axios向后端發送請求

/
/
/
/
源代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注冊</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <meta name="format-detection" content="telephone=no"/>
    <link rel="stylesheet" href="css/apple.css">
    <link rel="stylesheet" href="css/index.css">
    <script src="js/jquery.min.js"></script>
</head>
<body>

<div id="app">
	<div class="header gradient_bg">
		<div class="header_logo">
			<a onclick="window.history.back()" class="header_back"> &lt </a>
			<span>注冊</span>
		</div>
	</div>

	<!--注冊-->
	<div class="login_div">
		<span class="login_ltext">昵稱</span>
		<input class="login_input" name="name" v-model="user.name" type="text" maxlength="20" placeholder="輸入您的昵稱"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">年齡</span>
		<input class="login_input" name="age" v-model="user.age" type="text" maxlength="3" placeholder="輸入您的年齡"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">手機號</span>
		<input class="login_input" name="tel" v-model="user.tel" type="tel" maxlength="11" placeholder="輸入手機號"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">驗證碼</span>
		<div class="auth_div">
			<input class="login_input auth_input" name="code" v-model="code" type="tel" maxlength="4" placeholder="輸入驗證碼"/>
			<div>
				<img v-bind:src="url" style="width: 80px; height: 40px; margin-right: 20px" id="img-vcode" @click="getImageCode">
			</div>
		</div>
	</div>
	<div class="login_div">
		<span class="login_ltext">密碼</span>
		<input class="login_input" type="password" name="pwd" v-model="user.pwd" maxlength="11" placeholder="設置您的登錄密碼"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">確認密碼</span>
		<input class="login_input" type="password" name="confpwd" v-model="user.confpwd" maxlength="11" placeholder="輸入確認密碼"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">郵箱</span>
		<input class="login_input" type="text" name="email" v-model="user.email" maxlength="16" placeholder="輸入您的郵箱"/>
	</div>
	<div class="login_div">
		<span class="login_ltext">性別</span>
		<input type="radio" name="sex" v-model="user.sex" value="man"/>男 &nbsp;&nbsp;&nbsp;
		<input type="radio" name="sex" v-model="user.sex" value="woman"/>女
	</div>
	<div class="agree_div">
		<div class="agree_select cur"></div>
		<span class="agree_text"> 我已同意 《<a>注冊協議</a>》</span>
	</div>
	<div>
		<span><input class="register_action" type="button" value="注冊" @click="reg"></span>
	</div>
	<div class="register_div">
		<a href="login.html" class="register_text">
			已有賬號,請登錄
		</a>
	</div>
</div>

<script>
    $(function () {
        // 協議選項
        $('.agree_select').click(function () {
            if ($(this).hasClass('cur')) {
                $(this).removeClass('cur');
                flag = true;
            } else {
                $(this).addClass('cur');
                flag = false;
            }
            registerBtnShow();
        });

        //獲取所有的輸入框
        var flag = true;//是否全部輸入  默認true
        $(".login_input").keyup(function () {
            registerBtnShow();
        });

        function registerBtnShow() {
            $(".login_input").each(function () {
                if ($(this).val() == "") {
                    flag = true;
                    return false
                } else if ($('.agree_select').hasClass('cur')) {
                    flag = false;
                }
            });
            if (flag) {
                $(".register_action").removeClass("gradient_bg");
            } else {
                $(".register_action").addClass("gradient_bg");
            }
        }
    })
</script>
</body>
</html>

<script src="./js/vue.js"></script>
<script src="./js/axios.min.js"></script>
<script>
	var app = new Vue({
		el: "#app",
		data:{
			user:{
				sex: "man"
			},
			code: "",  //驗證碼
			url:""  //驗證碼的路徑
		},
		methods:{
			//注冊
			reg(e){
				//判斷是否具有class這個屬性,即是否添加了gradient_bg的css樣式
				e = e || window.event;
				let isActive = e.currentTarget.getAttribute("class").includes("gradient_bg");
				// console.log("isActive----------------",isActive);

				if (isActive){
					var _this = this;
					axios.post("http://localhost:8080/user/reg?code=" + _this.code, _this.user).then(function (result) {
						if (result.data === "OK"){
							alert("注冊成功,請登錄");
							location.href = "login.html"
						}
					})
				}
			},

			//獲取驗證碼
			getImageCode(){
				var _this = this;
				axios.get("http://localhost:8080/user/getCode").then(function (result) {
					_this.url = result.data
				})
			}
		},
		created(){
			this.getImageCode()
		}
	})
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM