2017-12-07 15 views
0

JavaScriptを使用してRailsフォームの非表示フィールドの値を生成しようとしています。値= "150 152 146"JavaScriptの配列からRailsに許容可能な値を設定する方法はありますか?

をしかし、私はJSの配列のうち、それを作るしようとすると、私が取得:省エネになる値= "150152146" を、私はそれが好きで必要

pickedImages = document.getElementsByClassName("picked_images"); 
imagesIds = [] 

for (var i = 0; i < pickedImages.length; i++) { 
    imagesIds.push(pickedImages[i].id) 
} 


document.getElementById('user_post_materials').value = imagesIds; 

データベース内の文字列として、さらにバグがあります。 私は

imagesArray = imagesIds.join(' ') 
document.getElementById('user_post_materials').value = imagesArray; 

を試みたが、それはまだ間違った値を与える:=「150、152、146」(カンマまだ存在)値あなたはこの割り当ての際に文字列にそれを回す試みることができる

+0

どのようにデータベースに保存していますか? '.join( '')'を使うと、文字列を得るときに文字列を分割するので、 'array'にすることができます。 " –

+0

" *はデータベースに文字列として保存し、さらにバグを発生させます* " - あなたのレールスクリプトは間違いなく入力に対していくつかのバリデーションを行う必要があります。おそらく、入力文字列を解析することも関係しているので、空白ではなく区切り文字としてコンマを受け入れることは難しくありません。ただし、独自の書式ルールを定義する代わりに、パーサーとシリアライザが両方の言語で使用できるJSONのような標準表現を使用することもできます。 – Bergi

+0

@chsdk投稿フォームから保存しています。どの文字列を分割することをお勧めしますか?私はhtmlコレクション(pickedImages)と配列(imageIds)を持っています。そして私はそれから弦を得る必要があります。 –

答えて

1

document.getElementById('user_post_materials').value = imagesArray.join(" "); 
0

BergiとRoby Rodriguesのアイデアのおかげで私はそれを完成させました。

imagesArray = imagesIds.join(' ').replace(',', ''); 

私はより良い何かを思い付く誰のための未承認のこの質問をしてみましょう: は、だから私は次のようでした。

関連する問題