首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django表单HTML中将`a‘标记与` `href`’链接

在django表单HTML中将`a‘标记与` `href`’链接
EN

Stack Overflow用户
提问于 2021-08-02 15:32:55
回答 3查看 345关注 0票数 1

我有一个django表单,我试图创建一个向上的表单,当您完成一个部分时,在同一个HTML模板中单击go下一节的旁边:

我已经创造了一切都很好,但我被卡住按钮的下一个按钮。我已经设置了一个id并将其链接到一个href,但没有按要求打开下一个表单。

以下是我试图让它更容易解释的东西:

代码语言:javascript
复制
          <ul class="nav nav-pills mb-3" id="ex-3" role="tablist">
            <!-- General Information -->
            <li class="nav-item" role="presentation">
              <a class="nav-link active" id="ex-3-tab-1" data-mdb-toggle="pill"
                href="#generalInformation"
                role="tab" aria-controls="pills-1" aria-selected="true"
                >General Information</a>
            </li>
            <!-- Contact Information -->
            <li class="nav-item" role="presentation">
              <a
                class="nav-link"
                id="tab_contactInformation"
                data-mdb-toggle="pill"
                href="#contactInformation"
                role="tab" aria-controls="pills-2" aria-selected="false"
                >Contact Information</a
              >
            </li>
        </ul>

在一般信息部分中,我添加了一个a标记来链接到href="#contactInformation",与顶部显示的导航药片相同,但它并没有导致这一点。只是在同一个地方说。

代码语言:javascript
复制
                    <a
                      href="#contactInformation"
                      >Contact Information</a
                    >

我的问题

如何添加a标记,并将href链接到下一部分?我做错了什么,我该如何解决呢?谢谢你事先的解释,让我明白。

EN

回答 3

Stack Overflow用户

发布于 2021-08-04 03:46:44

如果我没有错,当你点击'a‘标签时,你想移动到另一个部分。您可以尝试创建一个div标记,其中“id”作为“contactInformation”,作为hashtag,如果我没记错的话,可以链接到“id”值。因此,如果要保持#contactInformation,您将需要一个id='contactInformation‘的div标记。

票数 0
EN

Stack Overflow用户

发布于 2021-08-07 04:52:47

我想你说的是多步形式:-

代码语言:javascript
复制
var currentTab = 0; // Current tab is set to be the first tab (0)
showTab(currentTab); // Display the current tab

function showTab(n) {
  // This function will display the specified tab of the form...
  var x = document.getElementsByClassName("tab");
  x[n].style.display = "block";
  //... and fix the Previous/Next buttons:
  if (n == 0) {
    document.getElementById("prevBtn").style.display = "none";
  } else {
    document.getElementById("prevBtn").style.display = "inline";
  }
  if (n == (x.length - 1)) {
    document.getElementById("nextBtn").innerHTML = "Submit";
  } else {
    document.getElementById("nextBtn").innerHTML = "Next";
  }
  //... and run a function that will display the correct step indicator:
  fixStepIndicator(n)
}

function nextPrev(n) {
  // This function will figure out which tab to display
  var x = document.getElementsByClassName("tab");
  // Exit the function if any field in the current tab is invalid:
  if (n == 1 && !validateForm()) return false;
  // Hide the current tab:
  x[currentTab].style.display = "none";
  // Increase or decrease the current tab by 1:
  currentTab = currentTab + n;
  // if you have reached the end of the form...
  if (currentTab >= x.length) {
    // ... the form gets submitted:
    document.getElementById("regForm").submit();
    return false;
  }
  // Otherwise, display the correct tab:
  showTab(currentTab);
}

function validateForm() {
  // This function deals with validation of the form fields
  var x, y, i, valid = true;
  x = document.getElementsByClassName("tab");
  y = x[currentTab].getElementsByTagName("input");
  // A loop that checks every input field in the current tab:
  for (i = 0; i < y.length; i++) {
    // If a field is empty...
    if (y[i].value == "") {
      // add an "invalid" class to the field:
      y[i].className += " invalid";
      // and set the current valid status to false
      valid = false;
    }
  }
  // If the valid status is true, mark the step as finished and valid:
  if (valid) {
    document.getElementsByClassName("step")[currentTab].className += " finish";
  }
  return valid; // return the valid status
}

function fixStepIndicator(n) {
  // This function removes the "active" class of all steps...
  var i, x = document.getElementsByClassName("step");
  for (i = 0; i < x.length; i++) {
    x[i].className = x[i].className.replace(" active", "");
  }
  //... and adds the "active" class on the current step:
  x[n].className += " active";
}
代码语言:javascript
复制
* {
  box-sizing: border-box;
}

body {
  background-color: #f1f1f1;
}

#regForm {
  background-color: #ffffff;
  margin: 100px auto;
  font-family: Raleway;
  padding: 40px;
  width: 70%;
  min-width: 300px;
}

h1 {
  text-align: center;  
}

input {
  padding: 10px;
  width: 100%;
  font-size: 17px;
  font-family: Raleway;
  border: 1px solid #aaaaaa;
}

/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
}

button {
  background-color: #04AA6D;
  color: #ffffff;
  border: none;
  padding: 10px 20px;
  font-size: 17px;
  font-family: Raleway;
  cursor: pointer;
}

button:hover {
  opacity: 0.8;
}

#prevBtn {
  background-color: #bbbbbb;
}

/* Make circles that indicate the steps of the form: */
.step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;  
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}

.step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #04AA6D;
}
代码语言:javascript
复制
<form id="regForm" action="">
  <h1>Register:</h1>
  <!-- One "tab" for each step in the form: -->
  <div class="tab">Full Name:
    <p><input placeholder="First name..." oninput="this.className = ''" name="fname"></p>
    <p><input placeholder="Last name..." oninput="this.className = ''" name="lname"></p>
  </div>
  <div class="tab">Contact Info:
    <p><input placeholder="E-mail..." oninput="this.className = ''" name="email"></p>
    <p><input placeholder="Phone..." oninput="this.className = ''" name="phone"></p>
  </div>
  <div class="tab">Birthday:
    <p><input placeholder="dd" oninput="this.className = ''" name="dd"></p>
    <p><input placeholder="mm" oninput="this.className = ''" name="nn"></p>
    <p><input placeholder="yyyy" oninput="this.className = ''" name="yyyy"></p>
  </div>
  <div class="tab">Login Info:
    <p><input placeholder="Username..." oninput="this.className = ''" name="uname"></p>
    <p><input placeholder="Password..." oninput="this.className = ''" name="pword" type="password"></p>
  </div>
  <div style="overflow:auto;">
    <div style="float:right;">
      <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
      <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
    </div>
  </div>
  <!-- Circles which indicates the steps of the form: -->
  <div style="text-align:center;margin-top:40px;">
    <span class="step"></span>
    <span class="step"></span>
    <span class="step"></span>
    <span class="step"></span>
  </div>
</form>

资料来源:- W3学校多步形式

票数 0
EN

Stack Overflow用户

发布于 2021-08-07 07:25:21

您必须首先创建节并为节提供id。

如果您单击“联系人节”,它会将yo放入联系人部分,您可以在这里使用is作为菜单和菜单部分,代码如下:

代码语言:javascript
复制
<a href="#contact">Contact Section</a>

<section id="contact">

<h5>Address</h5>
<h5>Phone</h5>
<p>some text</p>

</section>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68624319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档