javascript - snackbar 验证 MDL - Javascript/Jquery

标签 javascript jquery html

如果输入字段为空,我想显示 snackbar。也许用 Snackbar/Toast 替换默认的 html5 所需的验证。 这是我的代码:

<body>

<!-- The drawer is always open in large screens. The header is always shown, even in small screens. -->
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
  <header class="mdl-layout__header">
    <button class="mdl-layout__drawer-button" onclick="window.location.href='index.html';">
      <i class="material-icons">arrow_back</i>
    </button>
    <div class="mdl-layout__header-row">
      <span class="mdl-layout-title">Cek e-KTP</span>
      <div class="mdl-layout-spacer"></div>
    </div>
  </header>
  <main class="mdl-layout__content">
    <div class="page-content">
    <!-- Your content goes here -->
        <form id="dx_form" name="dx_form" class="dx_form" action="#" method="post">
            <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                <input class="mdl-textfield__input" type="text" id="no_mohon" name="no_mohon" style="text-transform:uppercase">
                <label class="mdl-textfield__label" for="no_mohon">Masukan Nomor Permohonan e-KTP</label>
            </div>
                <div class="mdl-layout-spacer"></div>
                <button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent">Cek</button>
                <div class="mdl-layout-spacer"></div>
        </form>
    <!-- Your content goes here -->
    </div>
  </main>
    <footer class="dx_footer">
        <div class="mdl-grid">
          <div class="mdl-cell mdl-cell--1-col">
            <button class="mdl-button mdl-js-button mdl-button--icon" onclick="window.location.href='ktp.html';">
              <i class="material-icons">credit_card</i>
            </button>
            <div class="mdl-layout-spacer"></div>
            e-KTP
          </div>
          <div class="mdl-cell mdl-cell--1-col">
            <button class="mdl-button mdl-js-button mdl-button--icon" onclick="window.location.href='kk.html';">
              <i class="material-icons">chrome_reader_mode</i>
            </button>
            <div class="mdl-layout-spacer"></div>
            KK
          </div>
          <div class="mdl-cell mdl-cell--1-col">
            <button class="mdl-button mdl-js-button mdl-button--icon" onclick="window.location.href='info.html';">
              <i class="material-icons">info_outline</i>
            </button>
            <div class="mdl-layout-spacer"></div>
            Info
          </div>
          <div class="mdl-cell mdl-cell--1-col">
            <button class="mdl-button mdl-js-button mdl-button--icon" onclick="window.location.href='devs.html';">
              <i class="material-icons">developer_board</i>
            </button>
            <div class="mdl-layout-spacer"></div>
            Devs.
          </div>
        </div>
    </footer>
</div>
</body>

如果输入字段为空,如何显示 mdl snackbar 验证?任何帮助,将不胜感激。谢谢。

最佳答案

//your button
<button onclick="validate()"></button>

function validate() {
    if(document.getElementById('no_mohon').value == "" || document.getElementById('no_mohon').value == null || document.getElementById('no_mohon').value == undefined) {
        //get the snackbar
        var notification = document.querySelector('.mdl-js-snackbar');
        //creating data for snackbar notification
        var data = {
            message: 'Please make sure you filled in all the required fields.',
            timeout: 3000
        }
        //pushing the notification to the screen
        notification.MaterialSnackbar.showSnackbar(data);
    } else {
        //do form post action here
    }
}

[edit] 将 .value 属性添加到 if 语句。

[edit] 添加了一种为更多字段重用代码的方法

//your button
<button onclick="validate(this.id, 'message string here')"></button>

function validate(id, msg) {
    if(document.getElementById(id).value == "" || document.getElementById(id).value == null || document.getElementById(id).value == undefined) {
        //get the snackbar
        var notification = document.querySelector('.mdl-js-snackbar');
        //creating data for snackbar notification
        var data = {
            message: msg,
            timeout: 3000
        }
        //pushing the notification to the screen
        notification.MaterialSnackbar.showSnackbar(data);
    } else {
        //do form post action here
    }
}

关于javascript - snackbar 验证 MDL - Javascript/Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40717834/

相关文章:

javascript - Node.js代码中回调参数的含义

jquery - Twitter bootstrap collapsable 不适用于 jquery .html() 加载的内容

html - 在网页中呈现表格数据的简单方法(如 Google 电子表格)

javascript - CKEditor 字符计数

javascript - 根据在其中单击的链接查找嵌套 ul 的子项

asp.net - 使用 asp.net 按钮启动 html 代码

javascript - 在 DFP 广告管理系统中根据浏览器宽度更改广告尺寸

javascript - 在 JavaScript 中将 DOM 转换为原生 HTML

javascript - 如何使用lodash从bigArray中删除smallArray中的所有项目?

javascript - 模态未显示