Vueでフォームデータを取得する方法

Vueでフォームデータを取得する方法

必要

Vue を使用して次のようにユーザー データを収集します。

ここに画像の説明を挿入

データを取得して送信する

コード実装:

値の値を変数属性にバインドする

v-model.trim = 'username' ; 両端のスペースを削除します

v-model.number = 'age';文字列を数値に変換する

v-model.lazy = 'age' ;すぐには収集されませんが、フォーカスを切り替えた後に収集されます

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>フォームデータを取得する</title>
    <script src="/static/js/vue.js"></script>
</head>
<本文>
    <div id="コンテナ">
        <フォームアクション="" @submit.prevent="送信">
            <label for="username">ユーザー名:</label><br>
            <input type="text" class="username" name="username" placeholder="ユーザー名を入力" v-model.lazy="user.username"><br>
            <label for="password">パスワード:</label><br>
            <input type="password" class='password' name="password" placeholder="パスワードを入力" v-model="user.password"><br>
            <label for="age">年齢:</label><br>
            <!-- タイプは数値です。数値のみが許可されます。入力は文字列でもかまいません -->
            <!-- v-model.number、入力文字列を数値に変換します -->
            <input type="number" name="age" v-model.number="user.age"><br>
            <label for="">性別:</label>
            <!-- 異常な入力 -->
            <input type="radio" name="sex" v-model="user.sex" value="female">女性<input type="radio" name="sex" v-model="user.sex" value="male">男性<br>
            <!-- 複数選択 -->
            <label for="">趣味:</label>
            <input type="checkbox" v-model="user.hobby" value="pingpong">卓球<input type="checkbox" v-model="user.hobby" value="basketball">バスケットボール<input type="checkbox" v-model="user.hobby" value="football">サッカー<br>
            <!-- ドロップダウン選択ボックス-->
            <span>都市を選択:</span><br>
            <select name="city" v-model="user.city" id="">
                <option value="">都市を選択</option>
                <option value="zz">鄭州</option>
                <option value="wh">武漢</option>
                <option value="bj">北京</option>
            </選択>
            <br>
            <!-- テキスト ボックス -->
            <label for="">説明:</label><br>
            <テキストエリア名="desc" v-model="user.desc"></テキストエリア>
            <br>
            <!-- プロトコル -->
            <input type="checkbox" name="agree" v-model="user.agree"><a href="http://www.baidu.com">利用規約</a>を読んで同意してください
            <!-- 送信するにはボタンをクリックしてください-->
            <button :style="{display:'block',backgroundColor:'lightblue',}">送信</button>
            <!-- 送信 -->
            <!-- <input type="submit" value="送信"> -->
        </フォーム>
    </div>

    <スクリプト>
        Vue.config.productionTip = false
        新しいVue({
            el: "#コンテナ",
            データ: {
                ユーザー: {
                    ユーザー名: "",
                    パスワード: "",
                    年: ""、
                    性別: "",
                    趣味: []、
                    市: ""、
                    説明: "",
                    同意する: ""、
                }
            },
            メソッド: {
                送信(イベント){
                    console.log("フォームを送信")
                    // フォームでは、パラメータが自動的に送信されます console.log(JSON.stringify(this.user))
                },
            },
        })
    </スクリプト>
</本文>
</html>

テンプレートフィルター

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>テンプレート フィルター</title>
    <script src="/static/js/vue.js"></script>
    <script src="/static/js/dayjs.min.js"></script>
</head>
<本文>
    <div id="コンテナ">
        <!-- フィルター -->
        <span>{{ 時間 | 時刻フォーマッタ}}</span><br>
        <!-- パラメータ渡しフィルタの最初のパラメータは常にパイプライン データです -->
        <span>{{ 時間 | timeFormatter("YY-MM-DD hh:mm:ss")}} </span>
        <!--複数のフィルターを直列に接続することもできます-->
    </div>
    <スクリプト>
        Vue.config.productionTip = false
        //グローバルフィルター、すべてのコンポーネントで使用可能 Vue.filter("myFilter", function(value){
        	'グローバルフィルタリング'を返す
        })
        新しいVue({
            el: "#コンテナ",
            データ: {
                time: 1639579694662, //タイムスタンプ、文字列ではない},
			// コンポーネントフィルター内で使用されるローカルフィルター: {
                timeFormatter(時間、フォーマット){
                    // 最初のパラメータ if (format) {
                        dayjs(time).format(format) を返します。
                    }それ以外{
                        dayjs(time).format("YYYY-MM-DD HH:mm:ss") を返します。
                    }
                },
            },
        })
    </スクリプト>
</本文>
</html>

フィルターの使用シナリオ

1. 補間構文で使用される

2. v-bind : 属性 = 'xx|xx'

いくつかの単純な操作を処理すると新しいデータが生成される

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはフォームデータをJSON形式に変換する実装です
  • Vue フォーム データのインタラクティブ送信デモ チュートリアル
  • vueは同じフォームを使用して追加と編集を行い、el-formはフォーム送信後にフォームデータをクリアします。
  • Vue が値を返してフォームを動的に生成し、データを送信する仕組みの詳細な説明
  • Vueはフォームデータの追加、削除、変更機能を実装します
  • Vue の Element-ui フォームを使用してデータと複数の画像をバックエンドに送信する方法
  • Vueのフォームデータ収集方法の詳細

<<:  10秒以内にMySQLデータベースに数百万件のレコードを挿入する実装

>>:  HTML でハイパーリンク タグを使用するチュートリアル

推薦する

VMware ESXi6.7 の簡単なセットアップ(画像とテキスト付き)

1. VMware vSphere の概要VMware vSphere は、業界をリードする最も信...

Vue Element UIの使用時に遭遇した問題をまとめる

目次1. DateTimePickerの日付選択範囲は現在時刻とそれ以前です2. DateTimeP...

ReactプロジェクトでのTypeScriptの実装

目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...

無料のパブリック STUN サーバー

無料のパブリック STUN サーバーSIP 端末がプライベート IP アドレスを使用する場合、スタン...

Linux システムにおける時間設定の概要

1. 時間の種類は次のように分けられます。 1. ネットワーク時間(タイムゾーンの設定、ntpサーバ...

開発者にとって必須の Docker コマンドの概要

目次Docker入門Docker環境のインストールDockerイメージの共通コマンド検索ミラー画像を...

CSSを使用してAndroidシステムの読み込みアニメーションを実装する

Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...

Linuxの一般的なコマンドでLinuxのmoreコマンドを使用する方法

more は、最もよく使用されるツールの 1 つです。最も一般的な使用方法は、出力コンテンツを表示し...

img 画像タグに alt 属性を付与する必要がありますか?

img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...

Vscode が Ubuntu にリモート接続する際のエラー問題の解決方法

1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...

条件によるMysqlカウントの複数の実装方法を詳細に解説

最近、あるウェブサイトのバックエンドに一連の統計機能を追加していたのですが、条件によるカウントが必要...

数千万のMySQLデータ量を素早くページ分割する方法

序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク IO のオーバーヘッドが...

MySQL はパスワード強度の検証をオフにします

パスワード強度検証について: [root@mysql mysql]# mysql -uroot -p...

プロジェクトのフロントエンドとバックエンドでの Echart チャートの使用に関する詳細な説明

目次序文1. プロジェクトアーキテクチャ2. Echart公式サイトにアクセスして自己分析を学ぶ2....

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...