【问题标题】:Dynamically Change The Action Form Attr动态改变 Action Form Attr
【发布时间】:2022-01-16 06:54:08
【问题描述】:

我有事要问...

  1. 如何从我们获得的用户名和密码值动态更改表单标签的操作。例如,当值为 admin 时,操作表单将专用于 index_admin.html。

或者

  1. 如何根据用户名和密码更改“#batas”的值。以防万一,在不同的文件上。

这是index.html 标记:

<div class="collapse navbar-collapse" id="navbarNavDropdown">
            <ul class="navbar-nav">
              <li class="nav-item">
                <a class="nav-link active" aria-current="page" href="index.html">Home</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="about.html">About Us</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="product.html">Product</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="contact.html">Contact Us</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="masuk.html" id="batas">Masuk</a>
              </li>
            </ul>
          </div>

这是登录页面的代码

<form action="" id="form_id" method="post" name="myForm">
                <script>
                    document.get
                </script>
                <table>
                    <tr>
                        <td><label for="username">Username</label></td>
                        <td><input type="text" name="username" id="username" placeholder="Masukkan username" ></td>
                    </tr>
                    <tr>
                        <td><label for="password">Password</label></td>
                        <td><input type="password" name="password" id="password" placeholder="Masukkan password" ></td>
                    </tr>
                    <tr>
                        <td colspan="2"><input type="submit" value="login" id="submit" onclick="validate()"></td>
                    </tr>
                </table>
            </form>

非常感谢有人回答这个问题

【问题讨论】:

  • 这应该是服务器端脚本部分,因为您有一个表单帖子。

标签: javascript forms


【解决方案1】:

您可以做的是,将submit 操作的侦听器添加到您的表单中。一旦触发,您需要阻止表单提交操作的默认行为,并根据某些条件进行一些计算以动态更改action 属性。一旦设置了更新的action 属性,您就可以通过编程方式触发提交方法。

const form = document.getElementById("form_id");

form.addEventListener("submit", (e) => {
  e.preventDefault(); // <- HERE you stop the exection before some processings

  let action = "index.html";

  if (/* some condition */) {
    action = "index_admin.html";
  }

  form.setAttribute("action", action);
  form.submit();
});

不过,我建议不要在您的代码中使用直接密码/登录条件检查,因为它可以从浏览器中检查,人们可以使用它来以某种方式破解管理员的凭据。

【讨论】:

  • 先生 (e) 用什么?
猜你喜欢
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
相关资源
最近更新 更多