質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1107閲覧

DjangoでHTMLやJavaScriptを使用してformに一括送信

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/01/25 06:13

編集2019/01/25 07:03
  • 目的

下記のコードにおいて、<input type = "text"> の中の値をなんかしらのボタンを押したら 全ての {{form}} に値がいくようにしたいです。

<div> <input type="text"> </div> <tr> {% for form in forms %} {{ form }} {% endfor %} </tr>

御教授の程、宜しくお願いします。

なぜか不評だったのでもう少しだけコードを詳しく記述します。

<html> <head> <script> function insert(num){ document.form.textview.value=document.form.textview.value+num } </script> </head> <body> <div> <form name = "form"> <input class="textview" name="textview"> </form> </div> <table> <tr> <td><input class="button" type="button" value="1" onclick="insert(1)"></td> </tr> </table> </body> </html>

上記の様にした場合、 1 と表示されたボタンを押したら form に 1 が代入されます。
しかし、 Django を使用しているので、

<input class="textview" name="textview>

{% for form in forms %}
{{ form }}
{% endfor %}
となっていた場合、複数のフォームが形成されていること。また、 {{form}} にclassや name のタグがないことから全てのフォームに値を代入することができません。どうしたら良いでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/01/25 06:16

まずは思うように組んでみてください。これでは丸投げです。
_Victorique__

2019/01/25 06:19

何一つ理解してないのだけ伝わってきました
m.ts10806

2019/01/25 06:51

> なぜか不評 「質問するときのヒント」「推奨していない質問」を読んでもまだそのように思うのでしたらteratailはあなたに向いていません。 >提示されたコード JavaScriptのコードになっていません。エラー確認しましょう(ブラウザのデベロッパーツール) そこが直ってからスタートです。
m.ts10806

2019/01/25 06:59 編集

そこじゃないですよ。 functio → function </sript> → </script> あとHTMLにもミスがありますね。 <input class="textview" name="textview> ↓ <input class="textview" name="textview"> これだけとは限らないですけど・・・ もうちょっと基本からやっていきませんか?たぶんこのままだと何一つ伸びませんし何一つ解決しません。
退会済みユーザー

退会済みユーザー

2019/01/25 06:59

向いてないのかもしれませんが、活用はさせて頂きます。 上記のコードは、適当に思いついものを書いたので多少の間違いはあるかも知れませんが、意味は分かると思います。 自身のコードを載せると量が多過ぎて解答が困難になると思ったからです。 解答出来る自信がおありでしたら、載っけましょうか? 回答する気がないのなら返信をせず、自分の心に閉まっておいて下さい。
m.ts10806

2019/01/25 07:03 編集

多少の間違いで動かないのがプログラムです。 指示通りにしか動かないのがプログラムです。 記述が間違っていたらそこを指摘するしかできませんね。 むしろ多少の間違いがある可能性があって、実際に間違いだらけなのにそのまま載せられた方が回答が困難です。 私のほうで簡易コード作って(html,JavaScriptのみ)できたものがありますが、あまりに提示されたコードに間違いが多すぎるのでそちらを指摘するしかなくなりました。
m.ts10806

2019/01/25 07:05

1つ懸念事項として「適当に書いたもの」ですら全く動かないものを提示してしまう質問者さんが、簡易コードをもっていったとして「多すぎる量の自分のコード」に正しく反映できるだろうか?というところです。 正直なところ、自身の現在のコードしか提示する意味はありません。 それはもちろんある程度要約するのが必要なときはありますが全体の流れやコードの方向性が見えないと全く意味がありません。
m.ts10806

2019/01/25 07:06 編集

現在のコードで一応動きますよね。何が問題ですか?(結局こうなります) できているのなら反映するだけですね。
退会済みユーザー

退会済みユーザー

2019/01/25 07:08

プログラムを語らないでください。 >(html,JavaScriptのみ) これはウソです。Djangoのアプリのフォームを使用してないことになります。 Djangoの{{form}}を理解できていないことが分かります。
m.ts10806

2019/01/25 07:13

んー。HTMLきちんと知ってれば「何もないinputはデフォルトtext」ということは分かるかと思いますが。 ということはそのinputに対して入れていけばいいだけですよね。 結局ブラウザから確認したときに「ソースを表示」で出てくるのはHTMLだけなのでDjangoの範疇を既に離れています。
m.ts10806

2019/01/25 07:18

一応それなりにきちんと回答してきて(主にWebで) それなりにスコアもいただいているので「プログラムを語らないでください」と言われるとは思いませんでしたね。私は一切「Django」の話をしてきてないのに。Djangoの範疇にないことは最初から分かっていたのであえてそこを外してコメントをしてきています。 人に「語るな」という前にきちんと質問を書いてください。
_Victorique__

2019/01/25 07:23

プログラムを語るってなんですか? 分からないのでちょっと詳しく教えてほしいです。
退会済みユーザー

退会済みユーザー

2019/01/25 07:24

て、思うのは Django を理解してないからです。 出来ませんでした。 出来るコードの提示を示してください。
m.ts10806

2019/01/25 07:27 編集

今回だけは煽りに乗ってあげます。
退会済みユーザー

退会済みユーザー

2019/01/25 07:30

二人共、結局出来ませんでしたね。 残念です。
m.ts10806

2019/01/25 07:33

数分すら待てないせっかちさんなんですねぇ。 コードできてたとしても、理解しやすいように回答文章作るのにそれなりに時間かかるんですよ。煽るのはもうやめたほうがいいですよ。 どんなに初歩で出来る人がやれば数分で解決するような容易な質問があがったとしてもあなたであることで誰も回答しなくなります。
_Victorique__

2019/01/25 07:34

mts10806さんが優しすぎて涙出てきた...
m.ts10806

2019/01/25 07:34

(逆にこの人がどれだけDjangoとかWebサーバーのこと理解しているんだろうか)
m.ts10806

2019/01/25 07:53 編集

_Victorique__さん 自身の方が分かっていないを棚にあげてマウントをとろうとする人は基本的に嫌いです。私自身もマウントとる気があって乗ったわけじゃないですけどね。 「プログラム語るな」にはさすがにイラッと来ましたが。Python自体は遊びで少し触った程度ですがたぶん半日もかけずにこの方のDjangoの理解度を越えられるんじゃないかなと。フレームワークですし。(このためだけに学ぼうと思いませんが) この方の質問にはおそらく今後答えることはないでしょうし、過去質問をそれとなく確認する回答者でしたら回答しようとは思わないでしょうね。
_Victorique__

2019/01/25 07:55

mts10806さん プログラムを語る語らないとかいうクソくだらない基準で話されるとそりゃイラっとしますね。 見切りつけるのは大事だと思います!
guest

回答2

0

聞いた感じ下記のように出ているはずなので

HTML

1 <form name="form"> 2 <input> 3 <input> 4 <input> 5 <input> 6 <input> 7 <input> 8 <input> 9 <input> 10 </form>

inputタグ取得して回してtype=textだったら入れる。

js

1function insert(num){ 2 var inputs = document.getElementsByTagName("input"); 3 for(var i = 0;i < inputs.length;i++){ 4 if(inputs[i].type == "text"){ 5 inputs[i].value = inputs[i].value + num; 6 } 7 } 8}

※効率とかなく「おおよそ初心者でも理解しやすい手続き」で書きました。
もっと短く書くことは幾らでもできますが、おそらくそれでは理解できないと思いますので。

質問に提示されている以外のことが影響する可能性もあるのでそこは自身で調整してください。

まあ確実な回答欲しければ「ブラウザで表示確認したときに”ソースを表示”で出てくるコード」を省略せずに正確に提示してください。
JavaScriptで対応することが決まっている時点でサーバー側の役目は終わってます。
Django全く関係ないです。

投稿2019/01/25 07:30

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/25 07:33

{{form}}の意味を理解出来てますか?(何度も言いました) Djangoのアプリケーションを使用してから言って下さい。 出来てないです。 詳細の説明が必要ですか?
m.ts10806

2019/01/25 07:35 編集

(2回目・・じゃないですね。もっと言ってますね) まあ確実な回答欲しければ「ブラウザで表示確認したときに”ソースを表示”で出てくるコード」を省略せずに正確に提示してください。 JavaScriptで対応することが決まっている時点でサーバー側の役目は終わってます。 Django全く関係ないです。
m.ts10806

2019/01/25 07:36

ちなみに例えHTMLが私が回答に提示した内容どおりでないとしても このコード応用できないならたぶんずっとできません。 今回の流れから誰もあなたにコピペコード渡そうなんて思っていません。
退会済みユーザー

退会済みユーザー

2019/01/25 11:39 編集

まあ、質問者は問題が「高度な」python の問題だと思っているようだけど、htmlの問題だと言うことが理解できていないようで… しかも高々htmlだけでできるform送信をJavaScriptを使うとか… マジで基礎から勉強してくれとしか言いようがない。 ブラウザに出力されたhtmlさえ提示すれば簡単に解決できると言うのに…
m.ts10806

2019/01/25 11:52

文章おかしいところもあるので要件も正しく伝わらなさそうです(ここまで他の回答ついてませんし)
退会済みユーザー

退会済みユーザー

2019/01/25 12:01

このやり取り見て回答しようとは思わないですよ。普通。
m.ts10806

2019/01/25 12:02

ですよねぇ・・。ちょっと早いところ見切りつけなかったことを私も反省。
退会済みユーザー

退会済みユーザー

2019/01/25 12:15

たぶん、HTMLは <form></form> <form></form> <form></form> となっているんでしょうねぇ…
m.ts10806

2019/01/25 12:18

値をどうしたいんでしょうね。 OUTPUTイメージが伝わらないとどっちみち無理な気がします(ループはいいとしてその元となるformsの定義内容も分からないし)
退会済みユーザー

退会済みユーザー

2019/01/25 12:25 編集

最近の質問者が書く質問ってそういうのが増えてきている印象ですね。 回答に必要な情報だから提示しましょうと言っているだけなのに、 人格否定されているかのように噛み付いてくる人…。この質問者も然り… 質問者「パソコンが動かないんですけど…」 回答者「実物見ないと何もできないので、持ってきてください。」 質問者「直せないなら、回答しなくて結構です。」 回答者「...」
m.ts10806

2019/01/25 12:38

あってはいけないけど、それよく、見ます
guest

0

ベストアンサー

ブラウザから右クリックの後、検証を開く。
form ごとの id を調べてみて、 javascript と for文 で値を forms の数だけ変更する。
views.py に POST された後、各 form の id が変更されてしまうので意味がない。
理由は、(form を追加していることから) append でくっつけているので id の値が変化していくことにより生じる。
また、全ての form を一斉送信する場合と書き換えた form だけを送信する場合で id の変化が一意でないことから、 {{ forms | length }} で値を調べたのち、id と対応づけることが必要である。

投稿2019/01/25 12:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問