Мне удалось создать скрипт, который одним нажатием кнопки добавляет текстовые поля ввода с помощью javascript, но я хочу создать неограниченное количество полей MYSQL и сохранить данные в базу данных с использованием html-формы.Динамическое добавление полей MySQL в Laravel 5.2
В настоящее время я установил javascript для заполнения всего 10 текстовых полей ввода, потому что я создал только 10 полей в таблице MySQL.
есть способ, которым я могу создавать поля MySQL по требованию, а не ограничивать 10 полями или есть другое решение этой проблемы с использованием laravel.
Вот HTML-код
{{ Form::open(array('url' => '/Reward_details',)) }}
{{ csrf_field() }}
<div class="row">
<div class="col-md-6">
<b>Prize#1</b><br>
<div class="form-group">
{{ Form::label('pledged_amount', 'Pledged Amount:') }}
{{ Form::text('pledged_amount', null, ['class' => 'form-control', "required", 'placeholder' => 'Add Pledged Amount']) }}
</div>
<div class="form-group">
{{ Form::label('reward', 'Reward Description:') }}
{{ Form::textarea('reward_description', null, ['class' => 'form-control', 'rows' => '5', "required"]) }}
</div>
<div class="input_fields_wrap"><br><br><br><br>
<div class="col-lg-12">
<a class=" btn btn-success col-lg-12 btn-margin-top add_field_button">Add Reward Per Pledge</a>
</div>
</div>
</div>
</div>
<hr>
<div class="col-mid-12">
<div class="form-group">
{{ Form::submit('Submit Reward Details', ['class' => 'btn btn-primary']) }}
</div>
</div>
{{ Form::close() }}
и вот мой сценарий
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var n = 0;
var x = 1; //initlal text box count
var i=1;// counts the number on Prizes
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
n++;
x++;
i++; //text box increment
$(wrapper).prepend('<div class="col-md-12 nopadding form-group">' +
'<p>Prize#'+ +i +'</p>'+
'<label for="pledged_amount">Pledged Amount:</label>' +
'<input class="form-control" type="text" name="pledged_amount'+ +n +'" required/><br>'+
'<label for="pledged_amount">Reward Description:</label>'+
'<textarea class="form-control" rows="5" type="text" name="reward_description'+ +n +'" required/></textarea><br>'+
'<a href="#" class="btn btn-xs btn-danger remove_field">Remove</a>'+
'</div>'); //add input box
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
Скрипт просто добавляет 10 входных текстовых полей, потому что я создал только десять полей в MySQL.
По полям вы имеете в виду столбцы таблицы справа? – Abhishek
да, столбцы таблицы MYSQL –
Тогда вы не должны этого делать. Нет смысла создавать бесконечное число столбцов. – Abhishek