Vue 양식 제출 클릭 이벤트는 클릭 한 번만 허용되는 인스턴스
1. Vue 패키지 이벤트 사용
body:
<template>
<div>
<el-button @click.once="submitOrder()"> </el-button>
</div>
</template>
방법:
methods: {
submitOrder() {
//
}
}
2. 원본 JS 이벤트 사용데이터 데이터에 flag 속성을 표시합니다
data() {
return {
isSubmit: true;
}
}
body:
<template>
<div>
<el-button @click="submitOrder()"> </el-button>
</div>
</template>
방법:
methods: {
submitOrder() {
if (this.isSubmit) {
this.isSubmit = false;
//
}
}
}
보충 지식: 표 검증 제출 내용이 비어 있을 수 없는 몇 가지 방법방법 1:
css의required 속성 사용하기
방법 2:
JS 코드 예시 사용, 주의사항:form은 onSubmit 이벤트,form을 추가합니다.xx.폼에 대응하려면name
<script type="text/javascript">
function beforeSubmit(form){
if(form.username.value==''){
alert(' !');
form.username.focus();
return false;
}
if(form.password.value==''){
alert(' !');
form.password.focus();
return false;
}
if(form.password.value.length<6){
alert(' 6 , !');
form.password.focus();
return false;
}
if(form.password.value!=form.password2.value) {
alert(' , !');
form.password2.focus();
return false;
}
return true;
}
</script>
<fieldset>
<legend> </legend>
<form method="post" name="form" action="user.do?method=register" onSubmit="return beforeSubmit(this);">
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<tr><td><label> :<input type="text" name="username" value=""></label></td></tr>
<tr><td><label> :<input type="password" name="password" value=""></label></td></tr>
<tr><td><label> :<input type="password" name="password2" value=""></label></td></tr>
<tr><td><input value=" " type="submit"> <input type="reset" value=" "></td></tr>
</table>
</form>
</fieldset>
방법 3:jQuery 방법 (class 검증을 통해) 을 사용하려면 jquery를 참조해야 합니다.min.js
이점:
1: input에 class를 추가하면 이름은 마음대로 설정할 수 있지만 모든 input는 일치해야 합니다. 본 장의 사례calss는 noNull로 설정됩니다.(input에class 속성이 있으면 그 뒤에 바로 추가할 수 있습니다)
2: input에 속성을 추가하여 나중에 jquery를 통해 이 필드를 가져와 제시어로 사용합니다.이 장의 사례는 속성이 notNull임을 알려 줍니다.
3: jQuery를 통해 페이지의 모든calss가 noNull인 폼을 훑어보고 비어 있는지 확인합니다. 비어 있으면 notNull의 필드를 가져와서 비어 있는지 알려 줍니다.
구체적으로 어떻게 설정하는지는 아래의 사례를 참조하십시오.
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
</head>
<body>
<form>
<!-- input -->
<div>
: <input type="text" name="name" notNull=" " class="form-control noNull">
</div>
<br>
<!-- radio -->
<div>
:
<input type="radio" name="sex" value="0" class="noNull" notNull=" ">
<input type="radio" name="sex" value="1" >
</div>
<br>
<!-- select -->
<div>
:
<select name="age" class="noNull" notNull=" ">
<option value =""> </option>
<option value ="1">1</option>
<option value ="2">2</option>
</select>
</div>
<br>
<!-- checkbox -->
<div>
:
<input type="checkbox" name="hobby" value="1" class="noNull" notNull=" ">
<input type="checkbox" name="hobby" value="2">
<input type="checkbox" name="hobby" value="3">
</div>
<br>
<button type="button" class="btn-c" onclick="bubmi()"> </button>
</form>
<script src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function bubmi(){
$(".noNull").each(function(){
var name = $(this).attr("name");
if($(this).val()==""){
alert($(this).attr('notNull')+" ");return false;
}
if($(this).attr("type")=="radio"){
if ($("input[name='"+name+"']:checked").size() < 1){
alert($(this).attr('notNull')+" !");
return false;
}
}
if($(this).attr("type")=="checkbox"){
if ($('input[name="'+name+'"]:checked').size() < 1){
alert($(this).attr('notNull')+" !");
return false;
}
}
})
}
</script>
</body>
</html>
위의 Vue 양식에서 클릭 이벤트를 제출하여 클릭 한 번만 허용하는 실례는 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고 부탁드리며 많은 응원 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.