A
andreax
Guest
sry habe den Ausgabestring in der getDivRowInfo nicht checked.
Sollte nur zeigen dass du hier einen query-string zusammenbauen kannst.
das & leitet eine neue Variable ein da aber die variable bildinfo immer die selbe ist wird diese wahrscheinlich überschrieben
hier hab ich mal eine einfache Lösung : der String wird vom phpscript aufgeteilt so ist die anzahl nicht wichtig
und es gibt nur eine Variable .du kannst auch einen xmlString daraus machen oder ein json object das kann ich aber auch nicht so auf die schnelle
- - - Aktualisiert - - -
@Keith Hier ist eine bessere Alternative
1. javascript
Sollte nur zeigen dass du hier einen query-string zusammenbauen kannst.
das & leitet eine neue Variable ein da aber die variable bildinfo immer die selbe ist wird diese wahrscheinlich überschrieben
hier hab ich mal eine einfache Lösung : der String wird vom phpscript aufgeteilt so ist die anzahl nicht wichtig
und es gibt nur eine Variable .du kannst auch einen xmlString daraus machen oder ein json object das kann ich aber auch nicht so auf die schnelle
HTML:
///Javascript Teil //////////////////////
function getDivRowInfo()
{
var dataString = '';
for (var i = 0;i<dropzones.length;i++)
{
if(dropzones[i].dataset.info == '-'){continue;}
//keine Variable nur den String zu splitten verketten
dataString+= dropzones[i].dataset.info+'-+-'+dropzones[i].dataset.id+'#';
}
return dataString;
}
function sendHome()//
{
var sendStr = getDivRowInfo();
//Überprüfen ob ein Bild abgelegt wurde
if(sendStr == ''){ alert('es wurde kein Bild abgelegt!');return; } //wenn nein dann Hinweis ausgeben
var data = new FormData();//für IE erst ab IE 10
data.append('bildinfo',sendStr);
var xhtp = new XMLHttpRequest();
xhtp.open('post','datbac.php',true);
xhtp.addEventListener('load',datbac,false);
xhtp.send(data);
}
function datbac(e)
{
var income = document.createElement('div');
income.innerHTML = e.target.responseText;
document.body.appendChild(income);
}
/////////////////////////////////////////// javascript ende//////////////
//hier der code für die php datei datbac.php
<?php
$expArr = explode('#',$_POST['bildinfo']);
array_pop($expArr);
foreach($expArr as $i )
{
$outArr = explode('-+-',$i);
echo '<p>Bild Id: '.$outArr[0].' Div Id: '.$outArr[1].'</p>';
}
- - - Aktualisiert - - -
@Keith Hier ist eine bessere Alternative
1. javascript
HTML:
var data = new FormData();//für IE erst ab IE 10
function getDivRowInfo()
{
data = new FormData();
var dataString = false;
for (var i = 0;i<dropzones.length;i++)
{
if(dropzones[i].dataset.info == '-'){continue;}
data.append('bildinfo[]',dropzones[i].dataset.info+'-'+dropzones[i].dataset.id);
dataString=true;
}
return dataString;
}
function sendHome()
{
var sendStr = getDivRowInfo();
//Überprüfen ob ein Bild abgelegt wurde
if(!sendStr){ alert('es wurde kein Bild abgelegt!');return; } //wenn nein dann Hinweis ausgeben
var xhtp = new XMLHttpRequest();
xhtp.open('post','datbac.php',true);
xhtp.addEventListener('load',datbac,false);
xhtp.send(data);
}
function datbac(e)
{
var income = document.createElement('div');
income.innerHTML = e.target.responseText;
document.body.appendChild(income);
}
PHP:
//////// datbac.php
<?php
$expArr = $_POST['bildinfo'];
foreach($expArr as $i )
{
echo '<p>Bild Id: '.$i.'</p>';
}
Zuletzt bearbeitet von einem Moderator: