2017-10-17 7 views
1

私は、ユーザーが5つ以上の電話番号または電子メールを入力するテキストエリアを持っています。このテキストエリアの情報をデータベースに保存する必要があります(私はMongoskinを配列として使用します)。したがって、5つの異なる項目を持つ配列でなければなりません。これが私がデータベースに追加する必要があるものです。textarea ejsファイルからデータベースの配列を取得する方法は?

var phones = ["1number","2number","3number","4number","5number"]; 

ユーザはカンマ、またはセミコロンを押す、または数字のいずれかが行われることを意味する新しい行を開始するので、アレイ項目の一つとして処理しなければなりません。私が行ったことは、テキストエリアから値を取得することですが、DBに送信される配列アイテムは1つだけです。私は必要としない何

var whatidonotneed = ["1number2number1number2number1number"]; 

私は5つの別々の配列ファイルを必要とする一方で、内1つだけのアイテムを持つ配列です。だから私はそれらを操作することができます。

これは私が私のEJSファイルを持っているコードです:

<div style="text-align: center;"> 

    <form action="/emailsid" method="POST"> 
    <textarea placeholder="Type your Emails Here" name="users" rows="6" cols="60"> 
    </textarea> 
    <button>Submit</button> 
    </form> 

と私のapp.jsファイルに:

app.post("/emailsid", function(req,res){ 
    db.collection('emails').insert({emails: [req.body.users]}, function(err,result) { 
    if(err){ 
     console.log(err); 
    } else{ 
     console.log(result); 
     res.render("emailsid", {result: result}); 
    } 
    }); 
}); 

私はこれらの数字は、単一の配列にするようにする方法を理解していません項目、およびテキストの意味については、カンマまたはセミコロンは、それが他の配列項目の1つであることを意味することを理解してください。私が得るのは、その中のすべての情報を持つただ一つの配列項目です。

+0

を見てみましょうあなたは間違った数字の文字列を持っている場合は、例えば' VARのwrongNumbers = "1number/R/2number/R/3number"、あなたは 'を使用することができますしてください文字列に対して「分割」機能を実行する。たとえば、 'wrongNumbers.split( '/ r /')'は配列 '[1number、2number、3number]になります。 – Mateusz

+0

あなたの答えをありがとう!しかし、私はあなたがそれを正しく持っていなかったと思う、私は私の配列の5つの別々のアイテムを持っている必要があるので、私はそれらのいずれかを削除することができますか何でも。 、助けてください。私はとても幸せになるでしょう –

答えて

0

フィールドの名前を設定します。あなたのEJSファイルの変更点:

<form name="recopiled" action="/emailsid" method="POST"> 
    <textarea placeholder="Type your Emails Here" name="users" rows="6" cols="60"></textarea> 
    <input type='button' onClick="go(document.recopiled.users.value);" value="Submit" /> 
</form> 

あなたのapp.jsにこれを追加し、テキストエリアの電話番号の区切りがどうなるかを設定しなければなりません。

function go(content) { 

    delimiter="," // comma but you can set any character here. 

    phones=content.split(delimiter); 

    // now the phones of the textbox are in an array with separate values. 

    phones.forEach(function(value, index) { 
     // Here you can handle each item. 
     // 
     // Example: 
     document.write('item: ' + phones[index] + '<br>');  
    }); 

    // you can submit the form from here, or whatever you want. 

} 

、 `https://www.w3schools.com/js/js_arrays.asp

関連する問題