简体   繁体   English

Framework7 2 alert(); 在Ajax-Form-Submit事件上

[英]Framework7 2 alert(); on Ajax-Form-Submit Event

I would like to use form script on framework7 app. 我想在framework7应用程序上使用表单脚本。 I have my form on a page displayed by route.js I have my javascript action on route.js 我在route.js显示的页面上有表单,在route.js上有javascript操作

When I click on button, the alert is displayed two times, I don't know why. 当我单击按钮时,警报会显示两次,我不知道为什么。

Here is my Route.js : 这是我的Route.js:

{
path: '/contact_catalogue/',
url: './pages_pro/contact_catalogue.html',
on: {
pageInit: function (e, page) {

 $$('.convert-form-to-data').on('click', function(){
    var formData = app.form.convertToData('#my-form');
    alert(JSON.stringify(formData));
  });

},

},
},

Here is my contact_catalogue.html : 这是我的contact_catalogue.html:

<div class="page" data-name="contact_catalogue">
<form class="list form-store-data" id="my-form" name="my-form" autocomplete="off">
<ul>
<li>
  <div class="item-content item-input">
    <div class="item-inner">
      <div class="item-title item-label">Mr/Mme</div>
      <div class="item-input-wrap">
        <select name="gender">
          <option value="male" selected>Mr</option>
          <option value="female">Mme</option>
        </select>
      </div>
    </div>
  </div>
 </li>
 <li>
  <div class="item-content item-input">
    <div class="item-inner">
      <div class="item-title item-label">Nom</div>
      <div class="item-input-wrap">
        <input type="text" name="name" placeholder="Votre nom" autocomplete="off">
      </div>
    </div>
  </div>
 </li>
 <li>
  <div class="item-content item-input">
    <div class="item-inner">
      <div class="item-title item-label">E-mail</div>
      <div class="item-input-wrap">
        <input type="email" name="email" placeholder="E-mail" autocomplete="off">
      </div>
    </div>
  </div>
</li>
<li>
  <div class="item-content">
    <div class="item-inner">
      <div class="item-title">Demande de catalogue</div>
      <div class="item-after">
        <label class="toggle">
          <input type="checkbox" name="switch" value="yes" id="switch" selected><i class="toggle-icon"></i>
        </label>
      </div>
    </div>
  </div>
</li>
</ul>
</form>
<div class="block block-strong row no-margin">
<div class="col-25"></div>
<div class="col"><a class="button convert-form-to-data" id="test" href="#">Envoyer</a></div>
<div class="col-25"></div>
</div>

Thank you for your help, 谢谢您的帮助,

Check if pageInit fired twice for some reasons 检查pageInit是否由于某些原因被触发了两次

or try 或尝试

pageInit: function (e, page) {
  $(page.$el).on('click', '.convert-form-to-dat', function(){
    // do stuff
  })
},

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM