残念ながら、バルク/マス編集は実装されていません。何が非常に迷惑になることができますか?100を超えるレコードがある場合は特に更新する必要があります。私の場合、1000レコード前後あり、各レコードにはチェックボックスがありますが、現在チェックされているものはすべてチェックされていません。ウェブフォームの提出のチェックボックスをプログラムでチェックしてください
私はそれらのボックスをチェックするためにJavaScriptをオンザフライで実行しようとしました。しかし、それはjavascriptを実行した後、すべてのチェックボックスにチェックマークを表示しました。フォームを提出した後、チェックされていない最初のチェックボックス(チェックボックスとして表示されたもの)が元の状態に戻されます(未チェック)。
オンザフライのjavascript FireFoxのコンソールから実行しました。
var x = document.querySelectorAll('input[name^="example"][type="checkbox"]'), i = 0;
for (i = 0; i < x.length; i++) {
x[i].checked = true;
x[i].value = true; // I also tried 'on'
}
チェックボックスの初期マークアップ(手動)がチェックされ、チェックなし:私の知る限りchecked
属性は、プログラマが上にチェックボックスを表示できるようにするために、視覚的に表現するためにのみ存在している知っているように
<input name="example[1]" checked="" type="checkbox">
<input name="example[2]" type="checkbox">
要素の初期化。また注意しておきたいのは、チェックボックスのチェックを外すと要素が変わらないということです。
私は適切なアプローチを使用していますか?もし私が間違っているよりも?あるいは私は目標を達成するために別のアプローチをとっていますか?私は何をすべきですか?
"フォームを送信した後、チェックボックスは元の状態に戻ります(チェックされていません)。"チェックボックスがページにレンダリングされるときに、チェックボックスのステータスに影響を与えるためにサーバーサイドのコードで何もしないと、値は自動的に変更されません。 HTTPはステートレスなので、何らかの形の永続化レイヤーを実装するステップを踏まない限り、現在の要求より前にあったものを覚えていません。 – ADyson
@ADyson残念ながら私はソースを認識していませんが、 '$ _POST ['example']'変数を見ると、デフォルトで 'true'または' 'on''に値が設定されていますボックスをチェックした後のチェックボックス入力(マークアップには表示されません)、そうですか?基本的に私はこのポスト変数をwebformで修正しようとしています。おそらく私は郵便配達員を使うべきでしょうか? – Fleuv
HTMLフォームの奇妙な点は、チェックボックスがチェックされていないと、ポストバックが発生したときに$ _POST変数が存在しないことです。私は、ページをもう一度レンダリングするときに何が起こるかについて話していました。ページをレンダリングするコードでは、指定されたチェックボックスに$ _POST変数があるかどうかが考慮されていないと、提出する前にそれをチェックしたかどうかを覚えておいてください。 – ADyson