2016-10-11 6 views
0

投稿アクションを入力した<form/>の入力を別のjsファイルに送信します。このファイルは、注文処理を呼び出すためのデータを処理する必要があります。jsで入力ポストアクションを処理するにはどうすればよいですか?

現在、着信データを処理するjsファイルは空です。
送信データを取得するにはどうすればよいですか、この操作を実行する方がよいでしょうか?

答えて

0

このコンポーネントからフォームデータを処理する場合は、このファイル自体でその関数をインポートする必要があります。だからこれはどうやって行くのだろう!

新file.js

export default function(data){ 
    console.log('this is the form data'); 
} 

と現在のファイルのインポートこの機能とそれをonSubmitを使用します。

import React from "react"; 
import newFunction from 'new-file.js'; 

class Order extends React.Component { 

constructor() { 
    super(); 
}; 
/* 
componentWillMount() { 
}; 

componentWillUnmount() { 
}; 

submit: function(e){ 
    e.preventDefault(); 
    newFunction(); 
    alert('form submitted !'); 
}; 

refresh() { 
}; 
*/ 
render() { 
    return (
     <div> 
      <h1>Delivery-Adress</h1> 
      <form className="pure-form-stacked" action="" onSubmit={this.submit}> 
       <label htmlFor="name">Name: 
       <input id="name" name="name" type="text" required></input> 
       </label> 
       <br/> 
       <label htmlFor="street">Street: 
       <input id="street" name="street" type="text" required></input> 
       </label> 
       <br/> 
       <label htmlFor="city">City: 
       <input id="city" name="city" type="text" required></input> 
       </label> 
       <br/> 
       <label htmlFor="email">E-Mail: 
       <input id="email" name="email" type="email" required></input> 
       </label> 
       <br/> 

       <input type="submit" value="deliever" formmethod="post" formaction="OrderProcess.js"></input> 
      </form> 
     </div> 
    ) 
    } 
} 

export default Order; 

これはあなたの問題を解決することを願っています。 :)

+0

私はあなたが問題にどのように解決したいのか分かります。私は自分のプロジェクトでyoutのアイデアを使用しようとし、次のchnageを作った: 'class OrderProcess { submit(data){ console.log(data); } } デフォルトのOrderProcessをエクスポートします:: .. :: ..ロジック/ OrderProcessをインポートします:: :: 'フォームclassName ="純粋なフォーム積み重ね "アクション=" "onSubmit = {this.submit }> '悲しいことに、私はそれが欲しいと思うように動作しません – venter

+0

なぜ' OrderProcess'はクラスですか?エクスポートする機能としてそのまま使用してください。次に、現在のファイルをインポートして使用します。また、 'this.submit'ではここでは動作しません。インポートされた関数を呼び出す場合は、次のように直接呼び出す: 'onSubmit = {submit}' –