ユーザーがタブを押すか次のタブに移動するときにフォーム1で番号を入力すると動的なフォームが作成されますフォーム1は、データと日付を入力してファイルを添付することができます。jquery postメソッドを使用して複数の動的フォームをオブジェクトおよびポストに保存してアップロードする
各タイムユーザーがフォーム1に数字を入力してタブを押すと、フォーム1より下のダイナミックフォーム2が表示され、ユーザーはデータを入力できます。フォーム1のフィールドのすべてがフォーム2の添付ファイルデータ。
jqueryを使用して動的プロセスを作成することができましたが、私が直面している問題はこの動的フォームデータを保持できないことです。また、わかるように、配列データを取得しようとしましたが、私はコンソールを使ってチェックを見る。
フォーム1:テキストフィールド1 - > hasmany - >フォーム2(テキストフィールド、日付、ファイル) このデータを保存してアップロードするには、このデータをPHPファイルに投稿します。
これを実現する方法や解決方法はありますか?
jQueryの一部:
$(function() {
$('#general').change(function() {
extracted('general', 'general : ');
});
$('#in_uni_level').change(function() {
extracted('in_uni_level', 'in uni level : ');
});
$('#in_section_level').change(function() {
extracted('in_section_level', 'in section level : ');
});
$('#in_country_level').change(function() {
extracted('in_country_level', 'in country level : ');
});
function extracted(selection, Gtitle) {
var brief = [];
var contributor = [];
var datepick = [];
var file = [];
$('#dynamic_table').find('[name=brief]').each(function() {
brief.push(this.value);
});
$('#dynamic_table').find('[name=contributor]').each(function() {
contributor.push(this.value);
});
$('#dynamic_table').find('[name=datepick]').each(function() {
datepick.push(this.value);
});
$('#dynamic_table').find('[name=file]').each(function() {
file.push(this.value);
});
console.log(brief, contributor, datepick, file);
// $("#dynamic_table").empty();//clear dynamic table data each time focus change
console.log($('#' + selection).val());
var count = $('#' + selection).val();
if (count > 0) {
var nextStep = $(document.createElement('tbody'));
var Dynamic_form_header =
'<tr>' +
'<th>' + Gtitle + '</th>' +
'<th></th>' +
'<th></th>' +
'<th></th>' +
'</tr>' +
'<tr>' +
'<th>Short Brief</th>' +
'<th>Contributers count</th>' +
'<th>date</th>' +
'<th>Related doc</th>' +
'</tr>';
var Dynamic_form_body = '';
for (var i = 0; i < count; i++) {
Dynamic_form_body +=
'<tr>' +
'<td><input type="text" name="brief[]" id="brief" ' +
'</td>' +
'<td><input type="text" name="contributor[]" id="contributor"' +
'</td>' +
'<td><input type="text" name="datepick[]" class="datepicker"' +
'</td>' +
'<td><input type="file" name="file[]" id="doc"' +
'</td>' +
'</tr>';
}
nextStep.html(Dynamic_form_header + Dynamic_form_body);
nextStep.appendTo("#dynamic_table");
}
// default
$('#dynamic_table').live('click', function() {
$('.datepicker').datepicker();
});
}
$("#Submit_form").click(function() {
$.post("Requests/spc.php", //Required URL of the page on server
{ // Data Sending With Request To Server
Save_Form: true,
brief: brief,
contributor: contributor,
datepick: datepick,
file: file,
},
function (response) { // Required Callback Function
//======== disable loading for onclick event ==========
$("#loading_gif").hide();
$("#add_user_btn").removeAttr('disabled');
//======== disable loading for onclick event ==========
//$("#Response").text(response);
if (response == "save") {
$("#Response").text("ارسال دعوتنامه با موفقیت صورت گرفت.").css({color: 'green'});
}
});
});
});
HTMLセクション:
<form id="form" method="post" action=""
enctype="multipart/form-data">
<table class='styled-table' cellspacing='0' width="360"
border='1'>
<tr>
<td>
<label for="general">general</label>
<div class="cleaner h10"></div>
<label for="in_uni_level">in uni level</label>
<div class="cleaner h10"></div>
<label for="in_section_level">in section level</label>
<div class="cleaner h10"></div>
<label for="in_country_level">in country level</label>
<div class="cleaner h10"></div>
</td>
<td>
<input type="text" id="general"
name="general"/>
<div class="cleaner h10"></div>
<input type="text" id="in_uni_level"
name="in_uni_level"/>
<div class="cleaner h10"></div>
<input type="text" id="in_section_level"
name="in_section_level"/>
<div class="cleaner h10"></div>
<input type="text" id="in_country_level"
name="in_country_level"/>
<div class="cleaner h10"></div>
</td>
</tr>
</table>
<div class="cleaner h30"></div>
<table class='styled-table' id="dynamic_table"
cellspacing='0' width="500" border='1'>
</table>
</form>
<button id="Submit_form">Submit</button>
おかげで私は、私はまだ形に入れていなかった送信ボタン上のデータを取得したいので、多次元配列の問題を離れて、私は –
考えて行くあなたのコードを終了します質問を編集してください。 –
私のコードに追加した部分にエラーが発生しました:Uncaught TypeError:$(...)。onは関数ではありません。 –