フォーム内の無効なフォームフィールドの値を送信する方法 サンプルコード

フォーム内の無効なフォームフィールドの値を送信する方法 サンプルコード
フォーム内のフォーム フィールドが無効に設定されている場合、フォーム フィールドの値は送信されません。ただし、場合によってはこの値を送信する必要があります。
disabled の代わりに readonly を使用するなど、多くの解決策がありますが、どれもあまり良くないと思います (具体的な理由は省略します)。

解決策として、送信するフォームを送信する前にコピーし、コピーしたフォーム内のすべてのフォーム フィールドの disabled 属性を false に設定して、コピーしたフォームを送信するという方法を考えました。以下はデモ コードです (デモ効果を確認するには、コードを submit.html というファイルに保存します)。

コードをコピー
コードは次のとおりです。

<html>
<ヘッド>
<meta http-equiv="コンテンツタイプ" content="text/html; charset=shift-jis">
<タイトル>
フォームを送信
</タイトル>
<スクリプト>
関数doSubmit(フォーム) {
var newForm = form.cloneNode(true);
フィールドを有効にします(newForm.getElementsByTagName("input"));
フィールドを有効にします(newForm.getElementsByTagName("textarea"));
フィールドを有効にします(newForm.getElementsByTagName("select"));
newForm.style.display = "なし";
document.body.appendChild(新しいフォーム)
新しいフォームを送信します。
}
関数enableFields(フィールド) {
for(var i=0;i<fields.length;i++) {
var フィールド = fields[i];
if (フィールドインスタンス(配列)) {
(var j=0;j<field.length;j++) の場合 {
フィールド[j].disabled = false;
}
} それ以外 {
フィールドが無効 = false;
}
}
}
</スクリプト>
</head>
<本文>
<フォームアクション="submit.html">
<input type="text" name="text" value="tt" 無効/>

<input type="radio" name="radio" value="r1" チェック済み 無効>r1
<input type="radio" name="radio" value="r2">r2

<input type="チェックボックス" name="チェックボックス" value="c1">c1
<input type="checkbox" name="checkbox" value="c2" チェック済み無効>c2

<select name="select" 無効>
<オプション値="1">1</オプション>
<オプション値="2">2</オプション>
</選択>

<textarea name="textarea" 無効>123</textarea>

<input type="button" value="送信" onclick="doSubmit(this.form)">
</フォーム>
</本文>

<<:  CSS3はグラフィックの落下アニメーション効果を実現します

>>:  MySQL データ分析ストレージエンジンの例の説明

推薦する

Zabbix が MySQL のマスター/スレーブ状態を監視する方法の詳細な説明

MySQLマスタースレーブを設定した後、スレーブの状態が正常かどうかわからないことが多く、例外が発生...

React ページ ターナーの実装 (フロント エンドとバックエンドを含む)

目次フロントエンド上記のアイデアに従って、ページめくり機能を設計して記述します。バックエンド(Jav...

Mac に Windows サービスを備えた仮想マシンをインストールする方法

1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...

MySQL主キー命名戦略関連

最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...

HTMLで特殊記号を表示する(特殊文字対応表付き)

問題の再現HTML を使用して編集する場合、特殊記号によってエラーが表示されることが多く、極端な場合...

Linux でハードディスクのサイズを確認し、ハードディスクをマウントする方法

Linux には、マウントされたハードディスクとマウントされていないハードディスクの 2 種類のハー...

フォームの送信イベントが応答しない

1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...

CSS3 とテーブルタグを使用して円軌道アニメーションを実装するためのサンプルコード

html: 実際には、テーブルタグに従っていくつかの実線の円 div を正六角形に配置し、div コ...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

Linux システム (CentOS7 インストール) に JDK8 をインストールするための詳細なチュートリアル

JDKのインストールシステムのインストールについてはあまり詳しく説明しません。インストール手順はオン...

Vue の高度なコンポーネント機能コンポーネントの使用シナリオとソースコード分析

目次導入使用シナリオソースコード分析要約する導入Vue は、コンポーネントをステートレスかつインスタ...

Dockerはイメージ名とTAG操作の名前を変更します

docker イメージを使用する場合、以下に示すように、REPOSITORY と TAG の両方が ...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

HTMLとリソースがどのように読み込まれるかを理解します

このブログのすべてのコンテンツは、クリエイティブ コモンズ ライセンスの下でライセンスされています。...

テキストの折り畳み特殊効果を実現する HTML+CSS の例

この記事では、主に HTML + CSS を使用してテキストの折りたたみ特殊効果を実現する例を紹介し...