Ik heb eindelijk een script gevonden die het mogelijk maakt om text te veranderen in een textbox.
Er is echter één probleem met het script..zodra de text word veranderd in een textbox dan heeft die textbox geen name attribuut. En omdat ik de textboxen via een form wil verzenden naar mijn database heb ik dit attribuut nodig.
Ik zal eerst even de code laten zien:
<script type="text/javascript">
/* © John Davenport Scheuer */
function exchange(el){
var nodeI=el.parentNode, inputC=document.createElement('input'), text=el.innerHTML;
el.style.font='.9em "ms sans serif", "sans"'
el.innerHTML+='\x20'
with (inputC){
setAttribute('value', text, 0)
setAttribute('size', text.length-1, 0)
style.width=document.all&&!window.opera? el.offsetWidth-2+'px' : el.offsetWidth+2+'px'
setAttribute('type', 'text', 0)
setAttribute('id', el.id, 0)
setAttribute('readonly', false, 0)
}
nodeI.replaceChild(inputC, el)
}
</script>
</head>
<body>
<span id="itm1" onclick="exchange(this)">House</span><br>
<span id="itm2" onclick="exchange(this)">SpantoTextBox-Demo</span><br>
<span id="itm3" onclick="exchange(this)">Span to Text Box - Demo exchange(this)</span><br>
<span id="itm4" onclick="exchange(this)">In Line Test</span>
<span id="itm5" onclick="exchange(this)">In Line Test Too</span>
<span id="itm6" onclick="exchange(this)">In Line Test Also</span>
</body>
Omdat er meeerdere textboxen zijn moet de name ook nog is automatisch verhoogd worden. dus textbox 1 krijgt name="1" en textbox 2 name="2".
Tenzij er een manier is om de textboxen handmatig name attributen mee te geven.
Hopenlijk begrijpen jullie wat ik bedoel.
Bedankt
Gr. Bram