klopt, maar probleem is - verdubbelt zich na elke klik op het +
ik probeer :
XXXXXX
+-
(klik "+")
XXXXXX
XXXXXX
+-
te krijgen en niet :
XXXXXX-
+
(klik "+")
XXXXXX -
XXXXXX -
+
het bespaart ruimte en een hoop loops in m'n script ^^
Link gekopieerd
hij is bijna klaar ^^
dit is resutaat zover:
<html>
<head>
<style type="text/css">
*{
font-family: Verdana;
font-size: 11px;
}
.value {
width: 25%;
}
.valuee {
width: 73.8%;
}
#controls input{
float: right;
width: 5%;
}
</style>
<script>
function addSelector()
{
var currentSelectors = document.getElementById('selectorLine').childNodes.length;
if(currentSelectors > 0)
{
addControler();
}
var wrapper = document.createElement('div');
wrapper.id = 'wrapper_'+currentSelectors;
var valueSelector = document.createElement('input');
valueSelector.name='bron[]';
valueSelector.className = 'value';
wrapper.appendChild(valueSelector);
document.getElementById('selectorLine').appendChild(wrapper);
var textje = document.createTextNode(' - ');
wrapper.appendChild(textje);
var valueSelector = document.createElement('input');
valueSelector.name='link[]';
valueSelector.className = 'valuee';
wrapper.appendChild(valueSelector);
document.getElementById('selectorLine').appendChild(wrapper);
var textje = document.createTextNode(' ');
wrapper.appendChild(textje);
return;
}
function addControler()
{
var separator = document.createElement('div');
separator.className = 'separator';
document.getElementById('selectorLine').appendChild(separator);
return;
}
function removeSelector()
{
if(document.getElementById('selectorLine').childNodes.length < 2)
{
return false;
}
document.getElementById('selectorLine').removeChild(document.getElementById('selectorLine').lastChild);
document.getElementById('selectorLine').removeChild(document.getElementById('selectorLine').lastChild);
return;
}
window.onload = addSelector;
</script>
</head>
<body>
<div id="wrapper">
<form method="post" action="testtest.php">
<fieldset>
<legend>Bron(nen)
</legend>
<div id="selectorLine"></div>
<div id="controls">
<input type="button" value="+" onclick="addSelector()"/>
<input type="button" value="-" onclick="removeSelector(null)"/>
</div>
</fieldset>
<input type="submit"/>
</form>
</div>
</body>
</html>
maar output is niet zoals het moet zijn:
Array ( [bron] => Array ( [0] => blablabron1 [1] => blablabron2 ) [link] => Array ( [0] => blablalink1 [1] => blablalink2 ) )
ik heb het hele midddag al geprobeerd om deze resultaat te krijgen:
Array ([bron1] => blablabron1 [link1] => blablalink1 [bron2] => blablabron2 [link2] => blablalink2 )
Link gekopieerd
Met de - die ook iedere keer wordt toegevoegd, kun je precies aangeven welk gedeelte je wilt verwijderen. Wanneer je slechts 1 min-knop hebt, zal dat niet meer gaan.
Link gekopieerd
klopt, maar als je een volgorde "1,2,3" "2" weg klikt met -, krijg je "1,3"
maar bij het script hierboven kan je niets anders dan het laatste cijfer verwijderen waardoor het nette volgorde blijft en je een hoop loops bespaart in het volgende script ^^
Link gekopieerd
een doorbraak :P
<html>
<head>
<style type="text/css">
*{
font-family: Verdana;
font-size: 11px;
}
.value {
width: 25%;
}
.valuee {
width: 73.8%;
}
#controls input{
float: right;
width: 5%;
}
</style>
<script>
function addSelector()
{
var currentSelectors = document.getElementById('selectorLine').childNodes.length;
if(currentSelectors > 0)
{
addControler();
}
var wrapper = document.createElement('div');
wrapper.id = 'wrapper_'+currentSelectors;
var valueSelector = document.createElement('input');
valueSelector.name='bron';
valueSelector.className = 'value';
wrapper.appendChild(valueSelector);
document.getElementById('selectorLine').appendChild(wrapper);
var textje = document.createTextNode(' - ');
wrapper.appendChild(textje);
var valueSelector = document.createElement('input');
valueSelector.name='link';
valueSelector.className = 'valuee';
wrapper.appendChild(valueSelector);
document.getElementById('selectorLine').appendChild(wrapper);
var textje = document.createTextNode(' ');
wrapper.appendChild(textje);
return;
}
function addControler()
{
var separator = document.createElement('div');
separator.className = 'separator';
document.getElementById('selectorLine').appendChild(separator);
return;
}
function removeSelector()
{
if(document.getElementById('selectorLine').childNodes.length < 2)
{
return false;
}
document.getElementById('selectorLine').removeChild(document.getElementById('selectorLine').lastChild);
document.getElementById('selectorLine').removeChild(document.getElementById('selectorLine').lastChild);
return;
}
window.onload = addSelector;
</script>
</head>
<body>
<div id="wrapper">
<form method="post" action="testtest.php">
<fieldset>
<legend>Bron(nen)
</legend>
<div id="selectorLine"></div><div id="selectorLine"></div>
<div id="controls">
<input type="button" value="+" onclick="addSelector()"/>
<input type="button" value="-" onclick="removeSelector(null)"/>
</div>
</fieldset>
<input type="submit"/>
</form>
</div>
</body>
</html>
uitkomst = Array ( [bron] => blablabron1 [link] => blablalink1 )
is het mogelijk een een teller neer te zetten?
zodat je "
Array ( [bron1] => blablabron1 [link1] => blablalink1 [bron2] => blablabron2 [link2] => blablalink2)
" krijgt?
Link gekopieerd
niemand?
het zou me enorm helpen als iemand weet of het mogelijk is of zelfs het antwoord weet ^^
Link gekopieerd