Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/11/2007, 01:58
Avatar de eddwinpaz
eddwinpaz
 
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años, 3 meses
Puntos: 25
Re: Como permitir a un innerHtml hacer uso de imagenes para producir eventos ?

Ok no pretendo que me digas como hacerlo pero he modificado el codigo de tal manera que sea entendible. saludos no logro entender por que dices que tengo encapsulados los nodos. Bueno aqui esta el Codigo.

<script type="text/javascript">
var numero = 0;

addField = function () {
container = document.getElementById('files');

span = document.createElement('span');
span.className = 'file';
span.id = 'file' + (++numero);

field = document.createElement('input');
field.name = 'opciones[]';
field.type = 'text';

a = document.createElement('a');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Eliminar';

span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {

lnk = evt.srcElement ? evt.srcElement : evt.target;
span = document.getElementById(lnk.name);
span.parentNode.removeChild(span);

}
</script>

Lo que hace este script es agregar inputs por medio de addField y con removeField los elimino de el formulario ... ahora vi en un codigo de una pagina web hacen esto.. pero usando un submit form . con type=image osea es practicamente un input con fondo de imagen. Lo intente pero no me sirve. aqui esta lo que vi.

add_item: function(el)
{
var n=el.id.substr(3);
if ($('on_'+n).value.strip()!='')
{
var items=ProfileEdit.load_items(n);
var esc=Fix.escape($('on_'+n).value);

if (!items['exist'][esc])
{
var s=document.createElement('span');
s.innerHTML=' '+$('on_'+n).value.escapeHTML()+' <input name="remove['+n+']['+esc+']" type="image" class="remove_item" src="'+JSRoot+'i/12_remove_item.gif" width="12" height="12" />\
<input type="hidden" name="add['+n+'][]" value="'+$('on_'+n).value.replace(/"/gi,'&quot;')+'" />';
$('items_'+n).appendChild(s);
}
$('on_'+n).value='';
}
},

remove_item: function(el)
{
var v=ProfileEdit.get_name(el.name);
var id=Fix.idify(v);

if (!$(id))
{
var i=document.createElement('input');
i.type='hidden';
i.id=id;
i.name=el.name;
i.value=1;

el.parentNode.parentNode.appendChild(i);
}

$(el.parentNode).remove();