javascript - 使用 jquery 单击后退按钮后,输入字段不会被禁用

标签 javascript jquery html

一旦打开表单,所有输入字段和选择字段在单击编辑按钮后都处于禁用模式,这些字段将处于可编辑格式。

一旦我点击编辑按钮,文本就会变成后退按钮,一旦我点击后退按钮,文本就会变成编辑按钮,但问题是一旦我点击后退按钮,文本就会变成编辑成功,但字段也会应该从可编辑模式更改为禁用模式。

$('input').attr('disabled', true);															 
$('.editbutton').on('click', function(e) {												   e.preventDefault();																 
  $('input').attr('disabled', false);															 
})															 
$('select').attr('disabled', true);															 
$('.editbutton').on('click', function(e) {											     e.preventDefault();																 
  $('select').attr('disabled', false);
})

function myFunction() {
  var btn = document.getElementById("myButton");
  if (btn.value == "Edit") {
    btn.value = "Back";																	 
    btn.innerHTML = "Back";
  }
  else {
    btn.value = "Edit";																	 
    btn.innerHTML = "Edit";
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button  id="myButton"  onclick="myFunction()" class="btn btn-default editbutton" value="Edit">Edit</button>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="first-name">First Name</label>
  <input type="text" id="first-name" value="Doctor" class="form-control validate">          
</div>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="last-name">Last Name</label>
  <input type="text" id="last-name" value="p" class="form-control validate">          
</div>														
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="email">Email</label>
  <input type="email" id="email" value="doctor@gmail.com" class="form-control validate">          
</div>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="phone-number">Phone Number</label>
  <input type="text" id="phone-number" value="1234567890" class="form-control validate">          
</div>														
<div class="md-form col-md-2">
  <label data-error="wrong" data-success="right" for="isverified">Is Verified?</label><br/>
  <input type="checkbox" name="verified" value="verified" checked> </div>					
<button class="btn btn-default">Update Profile</button>

最佳答案

您尝试使用 removeAttr() 删除您想要的属性:

$('input').attr('disabled', true);    
$('select').attr('disabled', true);  
$('#myButton').on('click', function(e) {                      
  e.preventDefault();  
  if($('input').attr('disabled')){
    $('input').removeAttr('disabled');    
    $('select').removeAttr('disabled');
    this.textContent = "Back";
  }
  else{
    $('input').attr('disabled', true);    
    $('select').attr('disabled', true);
    this.textContent = "Edit";
  }                                                            
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button  id="myButton" class="btn btn-default editbutton" value="Edit">Edit</button>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="first-name">First Name</label>
  <input type="text" id="first-name" value="Doctor" class="form-control validate">          
</div>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="last-name">Last Name</label>
  <input type="text" id="last-name" value="p" class="form-control validate">          
</div>                                                      
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="email">Email</label>
  <input type="email" id="email" value="doctor@gmail.com" class="form-control validate">          
</div>
<div class="md-form col-md-5">
  <label data-error="wrong" data-success="right" for="phone-number">Phone Number</label>
  <input type="text" id="phone-number" value="1234567890" class="form-control validate">          
</div>                                                      
<div class="md-form col-md-2">
  <label data-error="wrong" data-success="right" for="isverified">Is Verified?</label><br/>
  <input type="checkbox" name="verified" value="verified" checked> </div>                  
<button class="btn btn-default">Update Profile</button>

关于javascript - 使用 jquery 单击后退按钮后,输入字段不会被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56648769/

相关文章:

javascript - 如何从 fetch REACT.js 显示 map 函数

java - 将 BlowfishJ Java 实现与 dren blowfish javascript 实现相匹配; 8字节后的加密值不同

来自 Parse.com 的 Javascript 查询响应

javascript - 在循环中使用 Text() 的问题

jquery - 使用 jquery 选择动态添加的元素...

html - 当我将鼠标悬停在整个 block 上而不仅仅是文本时,如何激活链接?

javascript - Math.random/floor 带有函数和 onclick?

jquery Accordion - 滚动到 li 标题

html - 在不考虑元素符号的情况下将 <li> 元素居中

javascript - 使用 ReadableStream 作为 HTML <img> 源