2017-06-16 52 views
0

我有一个屏幕登录在我的应用程序,并获取框架中的表单数据我需要使用formtoData但它没有工作,所以我决定创建另一个项目和复制粘贴框架文档脚本,但仍然没有工作。Framework7 formToData不工作

的Index.html(测试项目)

 <div class="pages navbar-through toolbar-through"> 
      <!-- Page, "data-page" contains page name --> 
      <div data-page="index" class="page"> 
       <!-- Scrollable page content --> 
       <div class="page-content"> 

         <form id="my-form" class="list-block"> 
         <ul> 
          <li> 
          <div class="item-content"> 
           <div class="item-inner"> 
           <div class="item-title label">Name</div> 
           <div class="item-input"> 
            <input type="text" name="name" placeholder="Your name"> 
           </div> 
           </div> 
          </div> 
          </li> 
         </ul> 
         </form> 

         <div class="content-block"> 
         <a href="#" class="button form-to-data">Get Form Data</a> 
         </div> 

       </div> 
      </div> 
     </div> 

JS(测试项目)

// Initialize app 
var myApp = new Framework7(); 


// If we need to use custom DOM library, let's save it to $$ variable: 
var $$ = Dom7; 
$$('.form-to-data').on('click', function(){ 
    alert("dwdq"); 

    var formData = myApp.formToData('#my-form'); 

    alert(formData); 
}); 

有谁知道它为什么不工作? thx提前。

+0

您不工作是什么意思? alert(formData)不显示类似[object Object]的东西吗? –

+1

他们改变了functin而不是formToData,现在是formToJSON,他们不会说在官方网站上,我随便发现了一边上网。 – sergio

+0

是的,他们对更新文档不好。 –

回答

2

他们改变了功能,而不是formToData现在formToJSON

1

您可以使用展位:

formtoData或formToJson将返回相同的值:[对象的对象]

只需使用JSON.stringify()获得期望的结果。

$$('.form-to-data').on('click', function(){ 

    var formData = myApp.formToData('#my-form'); 
    var formJSON = myApp.formToJSON("#my-form"); 

    console.log(JSON.stringify(formData)); 
    console.log(JSON.stringify(formJSON)); 
}); 

{"name":"Alexandre"} 
{"name":"Alexandre"} 

或者你甚至可以像序列化的形式:

$$('.form-to-data').on('click', function(){ 


    var formData = $$.serializeObject(myApp.formToJSON($$("#my-form"))); 

    console.log(formData); 
}); 

name=Alexandre