Даже несмотря на то, что я попробовал обходные пути, предложенные для аналогичных решений, он все еще дает мне «массив» на принимающем PHP.
Одна вещь, которую я должен упомянуть, отличается от других публикаций, которые яЧто касается этой темы, то в моем случае я использую a и jQuery для заполнения текстовых полей ввода для местоположения и систем.
Способ, которым это должно работать, заключается в том, что возвращаемые данные должны быть вставлены в mySQLдб.Каждое текстовое поле ввода имеет уникальное имя и идентификатор, но я боролся с простой передачей информации из jQuery в PHP.
Итак, у меня есть несколько полей ввода, сгенерированных щелчком, и идея состоит в том, чтобы передать ихназад после подтверждения формы.Эти местоположения и системы не нуждаются в проверке, поэтому URL-адрес функции ajax отличается от действия в исходной форме, которая ее поддерживает, и неизвестно, сколько мест или систем будет вводить пользователь
Я пытался вставить изображение, чтобы показать, но система сказала, что мне нужно больше репутации, чтобы сделать это.Поэтому любые вопросы, пожалуйста, не стесняйтесь задавать
Эта функция должна принимать все входные тексты с классом 'location'
function updatenewval()
{
$("input.locations").each(function(){
locations[$(this).attr("id")] = $(this).val();
$.ajax({
type: 'POST',
//dataType: 'text/html',
url: 'index.php?pag=project&op=list',
data: locations
});
});
}
Эта функция должна принимать все входные тексты с классом 'systems'
function updatenewvalsys()
{
$("input.systems").each(function(){
systems[$(this).attr("id")] = $(this).val();
$.ajax({
type: 'POST',
//dataType: 'text/html',
url: 'index.php?pag=project&op=list',
data: systems
});
});
}
В файле PHP есть <div id="content">Add a Location</div>
, вызывающий add_locations с параметрами 0,0 первого местоположения, первая система
function add_location(num,sys)
{
num++;
sys++;
$('#content').append("<div id=location"+num+"></div>");
$('#location'+num).append("<br>Location: <input type='text' name=location"+num+" onchange=\"updatenewval()\" onfocus=\"clearMe(this);\" class='locations' value=Location "+num+" id=location"+num+" size=31 maxlength=31><br><br><div id='system1' class=\"add\"><a href='javascript:add_system("+num+","+sysorg+");' >Add a System <img src=\"images/plus1.gif\" style=\"border:0px\" alt=\"Add a System\"></a></div>");
$('#inslocation').remove();
$('#content').before("<div id='inslocation' class=\"add\"><a href=\"javascript:add_location("+num+","+sysorg+");\" class=\"add\">Add a Location <img src=\"images/plus1.gif\" style=\"border:0px\" alt=\"Add a Location\"></a></div>");
}
Функция для вызова систем вызова, я знаю кодэто совсем не элегантно, но сейчас я забочусь о функциональности, главным образом потому, что я изо всех сил пытался правильно передать данные.
function add_system(num,sys)
{
newsystem=sys+1;
$('#location'+num).append("<br>System: <input type='text' name=system"+num+newsystem+" class='systems' id=system"+num+newsystem+" value=System "+newsystem+" @ Location"+num+" onchange=\"updatenewvalsys()\" onfocus=\"clearMe(this);\" size=32 maxlength=32><div id='insystem' class=\"add\"><a href='javascript:add_system("+num+","+newsystem+");' >Add a System <img src=\"images/plus1.gif\" style=\"border:0px\" alt=\"Add a System\"></a></div>");
$('#system1').remove();
$('#insystem').remove();
$('#insystem'+num+sys).hide();
$('#location'+num).append("<div id=insystem"+num+newsystem+" class=\"add\"><a href='javascript:add_system("+num+","+newsystem+");' >Add a System <img src=\"images/plus1.gif\" style=\"border:0px\" alt=\"Add a System\"></a></div>");
}
Я пробовал упомянутый выше подход, и он, похоже, не проходит мимозначение.В PHP op = list
if (isset($_POST['locations']))
{
parse_str($_POST['locations'], $locations);
foreach ($locations as $key => $value) {
echo "$value<br>\n";
}
}
Будем весьма благодарны за любые указатели, поскольку это связано с jQuery -> PHP` serialize object.Заранее спасибо!