Hola
MrH2, que tal. Bienvenido al foro.
Déjame decirte que estas haciendo mal uso de algunos atributos, como tambien el uso innecesario de elementos.
- No es necesario incluir un <div> dentro de un <a>.
- El atributo href del elemento <a> debe contener un vinculo hacia algun destino o en su defecto #. (Atributos <a>)
- El valor del id de cualquier elemento debe ser unico en todo el documento. Para enviar datos de un formulario basta con el atributo name.
Despues de esas pequeñas correciones, puedes probar el siguiente ejemplo que preparé
Código Javascript
:
Ver original<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
$(document).on('ready',function() {
$('#myList').on('click','a.btnForm',function(e){
e.preventDefault();
var action = $(this).attr('rel');
$(this).parent('form').find('input[name=formCtrl]').attr('value',action);
});
});
</script>
</head>
<body>
<input type="button" id="add" value="add new form">
<div id="myList">
<form method="POST" enctype="multipart/form-data">
<input name="formCtrl" type="hidden" value="not">
<input name="pid" type="hidden" value="user1">
<a class="btnForm" rel="edit" href="#">editar</a>
<a class="btnForm" rel="delete" href="#">eliminar</a>
<a class="btnForm" rel="change" href="#">cambiar</a>
</form>
<form method="POST" enctype="multipart/form-data">
<input name="formCtrl" type="hidden" value="not">
<input name="pid" type="hidden" value="user1">
<a class="btnForm" rel="edit" href="#">editar</a>
<a class="btnForm" rel="delete" href="#">eliminar</a>
<a class="btnForm" rel="change" href="#">cambiar</a>
</form>
</div>
</body>
</html>
El evento
click responde a todos los formularios que se agreguen dinamicamente con sus respectivos controles.
Atento a la linea 12, es la encargada de modificar el valor del elemento con
name=
"formCtrl"
El código esta bastante simple; coméntanos cualquier duda, cambios y finalmente como lo implentaste