javascript - 如何一次只显示一个文本框并单击下一步显示下一个输入字段

标签 javascript jquery html css

我有三个字段和一个下一步按钮。单击下一步按钮后,我必须一一显示每个字段。意味着我一次只能显示一个字段。 例如。单击下一个按钮后,第一个文本框显示下一个按钮,然后显示第二个文本框,下一个按钮与第三个按钮相同,但这次没有下一个按钮。它将显示提交按钮。你能帮我解决这个问题吗?

.steps{
  max-width:500px;
  height:auto;
  margin:0 auto;
  padding:70px 0;
  background:#ffffff;
  border:1px solid #e1e8f2;
  position:relative;
  text-align:center;
}
label
{ 
  display: block;
}
.field-set
{
  text-align: left;
}
<div class="steps">
  <p class="form_title">Please Fill The field Bellow</p>
  <form action="#" method="post" autocomplete="off">

    <div class="field-set">
    <label>name</label>
      <input type="text"  id="name" name="name" placeholder="Enter You Name"/>						
    </div>

      <div  class="field-set">
      <label>Email</label>
        <input type="email" id="email" name="email" placeholder="Enter You Email"/>	
      </div>

      <div  class="field-set">
      <label>mobile</label>
        <input type="text"  id="mob" name="mob" placeholder="Enter Your mobile no"/>	
      </div>

      <div  class="field-set">
        <input type="submit" name="next" value="next" id="click_next">	
      </div>

  </form>
</div>

最佳答案

尝试类似的东西

var count = $(".field-set").length - 1;
var countshow = 1;
$("#click_next").click(function(e) {
  e.preventDefault()
  $(".field-set").eq((countshow - 1)).hide();
  if (count > countshow) {
    $(".field-set").eq(countshow).show();
    countshow++;
  } else {
    $("form").unbind("submit").submit();
  }
})

我还更改了您的一些 css。

.field-set {
  text-align: left;
  display: none;
}

.field-set:first-of-type,
.field-set:last-of-type {
  display: block;
}

var count = $(".field-set").length - 1;
var countshow = 1;
$("#click_next").click(function(e) {
  e.preventDefault()
  $(".field-set").eq((countshow - 1)).hide();
  if (count > countshow) {
    $(".field-set").eq(countshow).show();
    if ((count - 1) == countshow) {$(this).val("sumbit")}
  } else {
    $("form").unbind("submit").submit();
  }
  countshow++;

})
.steps {
  max-width: 500px;
  height: auto;
  margin: 0 auto;
  padding: 70px 0;
  background: #ffffff;
  border: 1px solid #e1e8f2;
  position: relative;
  text-align: center;
}

label {
  display: block;
}

.field-set {
  text-align: left;
  display: none;
}

.field-set:first-of-type,
.field-set:last-of-type {
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!--  start Form Steps  -->
<div class="steps">
  <p class="form_title">Please Fill The field Bellow</p>
  <form action="#" method="post" autocomplete="off">

    <div class="field-set">
      <label>name</label>
      <input type="text" id="name" name="name" placeholder="Enter You Name" />
    </div>

    <div class="field-set">
      <label>Email</label>
      <input type="email" id="email" name="email" placeholder="Enter You Email" />
    </div>

    <div class="field-set">
      <label>mobile</label>
      <input type="text" id="mob" name="mob" placeholder="Enter Your mobile no" />
    </div>

    <div class="field-set">
      <input type="submit" name="next" value="next" id="click_next">
    </div>

  </form>


</div>
<!--  End Form Steps  -->

关于javascript - 如何一次只显示一个文本框并单击下一步显示下一个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410766/

相关文章:

javascript - 重置动态更改 jQuery-mobile-Slider 时出现奇怪错误

html - 在浏览器调整大小时保持图像位于视频之上

javascript - 标签过渡问题

javascript - JQuery - 重置计数时再次绑定(bind)()

jquery - HighCharts 性能问题和替代方案

android - 元素在移动设备上的大小调整不均

javascript - 将内联 JavaScript 初始化逻辑与 html 分开,以实现严格的内容安全策略

javascript - Jasmine:模拟单例的内部方法

javascript - 在结构 Canvas 中编辑组类型的 i-text

javascript - 如何在加载之前用 Javascript 替换网页的背景图片?