0

jQuery FormBuilder プラグインを使用して、アプリでフォーム ビルダーを生成しています。

問題は、これと一緒に送信する必要がある別の 2 つの入力フィールドがあることです。

私のフォーム構造は次のとおりです。

<script>
    $(function() {
        $('#my-form-builder').formbuilder({
            'save_url' : 'examplesave',
            'load_url' : 'examplejson',
            'useJson' : true
        });
    });
</script>

<form id="myForm">
    <input type="text" id="fname" />
    <input type="text" id="lname" />
    <div id="my-form-builder"></div>
</form>

ファイルを編集してjquery.formbuilder.js、他の 2 つの入力フィールドを追加しました。

// saves the serialized data to the server
            var save = function () {
                    var fname= $('#fname').val();
                    var lname= $('#lname').val();

                    if (opts.save_url) {
                        $.ajax({
                            type: "POST",
                            url: opts.save_url,
                            data: $(ul_obj).serializeFormList({
                                prepend: opts.serialize_prefix
                            }) + "&form_id=" + form_db_id + "&fname=" +fname + "&lname=" +lname,
                            success: function () {}
                        });
                    }
                };

ここまでは順調ですね。これは完全に正常に機能します。jquery Validate plugin問題は、送信する前に入力フィールドを検証するために使用したいことです。jQuery Form pluginこれでonを使用し(document).readyてフィールドを検証できます。何かのようなもの:

$('#myForm').ajaxForm(
                {
                    type: "POST",
                    url: "examplesave",
                    data: ?????????????????????????????????
                    beforeSubmit : function() {
                        $("#myForm").validate({
                            rules : {
                                fname : {
                                    required : true
                                },
                                lname : {
                                    required : true
                                }
                            },
                            messages : {
                                fname : "Please enter...",
                                lname : "Please enter..."
                            }
                        });
                        return $("#myForm").valid();
                    },
                    success : function() {}
                });

しかし、どうやってデータを取得するのですか

data: $(ul_obj).serializeFormList({
                                    prepend: opts.serialize_prefix
                                }) + "&form_id=" + form_db_id + "&fname=" +fname + "&lname=" +lname

部?フォームをそのまま送信するだけで、jQueryフォームビルダーは入力を一緒にシリアル化できません。ここでシリアル化プラグインを使用するにはどうすればよいですか? 私は本当に悪い立ち往生しています。私はJavaScriptがあまり得意ではありません。

誰かが私を案内してくれませんか。これが明確でない場合は、詳細を追加できます。私はバラバラに頭を悩ませています。それに対する別のアプローチもありますか?提案してください。

4

1 に答える 1