Я использую JQuery, чтобы создать столько входных текстовых полей, как пользователь должен выглядеть примерно так:Вставка значений JS созданных входных текстовых полей в базу данных
<script type="text/javascript">
$(document).ready(function() {
$('#names').on({
blur: function() {
var name = $("<p><input class='input' type='text' /></p>")
var nullFields = 0;
$(this).closest('div#names').find('input.input').each(function(){
if($(this).val() == ""){
nullFields++;
}
});
console.log(nullFields);
if(nullFields <= 1){
$('#names').append(name.fadeIn(500));
}
}
}, 'input');
});
</script>
Установка статического текстового поля в базе данных не является проблемой используя $_POST['blah']
и mysql_query("INSERT INTO ...")
, но как вставить значения динамически созданных текстовых полей? Я знаю, что мне придется придать текстовым полям разные имена по мере их создания, и я предполагаю, что запрос MySQL будет выполнен в виде своего рода цикла.
EDIT
Сайт о котором идет речь here, в частности, на этапе 4. Как уже упоминалось выше, шаг 3 был довольно прост.
Вы можете просто использовать 'name []' без какого-либо индекса. – scriptin
Большое спасибо за ваш ответ. Несколько вопросов: 1. Есть ли способ проверить javascript? Динамически созданные текстовые поля не отображаются в исходном коде. 2. Что именно делает PHP? Я не совсем понимаю, что делает ключ $ ... – Sebastian
Когда вы отправляете свою форму на страницу PHP, которая входит в базу данных, POST является массивом. $ _POST [ключ] = значение. Динамически созданные текстовые поля теперь представляют собой массив внутри этого массива. Этот скрипт найдет массив (is_array) и примет каждое значение как $ key2 и присвоит значение $. теперь вы можете получить доступ к этому в своем цикле foreach. может не быть лучшим способом для того, что вы делаете, но мне нужно будет увидеть, как вы хотите записать его в базу данных. Используйте print_r ($ _ POST); умереть(); в вашем скрипте php, чтобы увидеть массив –