Я нашел этот фрагмент кода в Интернете и его то, что мне нужно, чтобы начинать учиться с помощью jquery. Мой вопрос заключается в том, как я могу передать/передать значение counter
которое использовалось в части jquery-скрипта тега html head.
Когда я сказал о передаче, я имею в виду, когда я нажимаю кнопку "Отправить", предполагая, что у меня есть форма и отправлен ее на мой CI_controller.
Помимо того, что вы просите вас, ребята, из какой-либо функции сделать это, я подумал о своем пути. Я планирую сделать скрытое текстовое поле, где каждый раз добавлять или удалять текстовое поле, я буду помещать значение счетчика в это текстовое поле, поэтому, когда я нажимаю кнопку отправки, плохо знаю, сколько текстовых полей было добавлено динамически. Хотя, я все еще новичок, поэтому я не знаю синтаксиса этого.
здесь фрагмент.
<script type="text/javascript">
$(document).ready(function(){
var counter = 2;
$("#addButton").click(function () {
if(counter>10){
alert("Only 10 textboxes allow");
return false;
}
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' +
'<input type="text" name="textbox' + counter +
'" id="textbox' + counter + '" value="" >');
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
});
$("#removeButton").click(function () {
if(counter==1){
alert("No more textbox to remove");
return false;
}
counter--;
$("#TextBoxDiv" + counter).remove();
});
$("#getButtonValue").click(function () {
var msg = '';
for(i=1; i<counter; i++){
msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
}
alert(msg);
});
});
</script>
Вы можете просто установить значение ввода формы с помощью jQuery следующим образом:
$('form input#field-id').val(yourData); // where yourData is JavaScript variable containing the data/information
Учитывая, что у вас есть форма, которая выглядит примерно так:
<form action='/save-data' method='post'>
<input type="text" id="field-id" name="data-name" />
<input type="text" id="other-field" name="other-data-name" />
</form>
EDIT: на стороне клиента вы можете сделать $ ('form textarea'). Size(), который вернет количество текстовых полей внутри этой конкретной формы.
На стороне сервера вы можете просто пройти через $ _POST, чтобы узнать, сколько у вас текстовых полей:
$boxcount = 0;
foreach ( $_POST as $name => $value ) {
if ( strpos($name, "textbox") == 0 ) {
$boxcount += 1;
}
}