2011-12-23 13 views
0

私は、選択した値に応じて動的に作成されるフォームを持っています。さまざまなテキスト入力を行い、値が入力されていない場合は、 MySQLデータベースからのデータを、私はフォームを送信して、新しい挿入を作りたいときに私は入力からすべての値を取得しようとするが、何の値がjqueryは、名前が動的に作成された入力から値を取得します

$('input#send.clientenom').live('click', function(){ 
    var id_cliente = $('select#clienteslist.list').val(); 
    var contacto = $('.clientenom input[name="contacto"]').val(); 
    var cliente = $('.clientenom input[name="cliente"]').val(); 
    var direccion = $('.clientenom input[name="direccion"]').val(); 
    var colonia = $('.clientenom input[name="colonia"]').val(); 
    var estado = $('.clientenom input[name="estado"]').val(); 
    var cp = $('.clientenom input[name="cp"]').val(); 
    var telefono = $('.clientenom input[name="telefono"]').val(); 
    var email = $('.clientenom input[name="email"]').val(); 
    var acumulado = $('.clientenom input[name="acumulado"]').val(); 
    var tipocliente = $('.clientenom input[name="tipocliente"]').val(); 
    var prospecto = $('.clientenom input[name="prospecto"]').val(); 
    var nivel = $('.clientenom input[name="nivel"]').val(); 
    var proynom = $('.regname input[name="regproyname"]').val(); 
    alert(id_cliente, contacto, cliente, direccion, colonia, estado, cp, telefono, email, acumulado, tipocliente, prospecto, nivel, proynom); 
      data = JSON.parse(data);  

    if(id_cliente == 0){ 

    var jqxhr = $.post("php/registrop.php",{"id_tipo":tipocliente, "id_prospecto":prospecto, "id_nivel":nivel, "contacto":contacto,"cliente":cliente, "direccion":direccion, "colonia":colonia, "estado":estado, "cp":cp, "telefono":telefono, "email":email, "acumulado":acumulado, "proyecto":proynom},function(data){ 
    if (typeof (data) == 'object' && JSON.parse){ 

var html = ''; 
var len = data.length; 
for (var i = 0; i< len; i++) {  
    var d = data[i]; 
    if(!d.error){ 
    if(d.Success == true){ 
html += d.Message;} 
}else{ 
      alert(d.error); 
    }} 
    alert(d.Message); 
    }else{ 

    alert("error no se puede parsear"); 
    } 




     })}else{ 
      var jqxhr = $.post("php/registrop.php",{"id_cliente":id_cliente, "proyecto":proynom},function(data){ 
         data = JSON.parse(data);  
    if (typeof (data) == 'object' && JSON.parse){ 

var html = ''; 
var len = data.length; 
for (var i = 0; i< len; i++) {  
    var d = data[i]; 
    if(!d.error){ 
if(d.Success == true){ 
html += d.Message; 
} 

}else{ 
    alert(html); 
    }} 
      alert(d.error); 
    alert("error no se puede parsear"); 
    } 


     }) 
      } 
    }); 

を返されないとの警告がちょうど見にデバッグすることです値が私が得る唯一の値はid_cliente valです他の値は追加されていません私は入力を委任するバインドする必要がありますか?私の提出ボタンはタイプボタンではありませんので、事前にページをリロードする必要はありません。

形がこのように作成されます。

function selectedcliente(){ 
var id_clientea = $('select#clienteslist.list').val(); 
if($('form#info.customForm').length > 0 || id_clientea == ""){ 

    $('.clienteinfo').empty(); 
      } 
if(id_clientea == 0){ 
var html = ''; 
html += '<form class="customForm" id="info">' + 
'<div>' + 
'<label for="contacto">Contacto</label>' + 
'<input type="text" name="contacto" class="clientenom" value=""/><span id="contactoinfo">Nombre del contacto del cliente</span>' + 
'</div>' + 
'<div>' + 
'<label for="cliente">Cliente</label>' + 
'<input type="text" name="cliente" class="clientenom" value=""/><span id="clienteinfo">Nombre de la empresa/cliente</span>' + 
'</div>' + 
'<div>' + 
'<label for="direccion">Direccion</label>' + 
'<input type="text" name="direccion" class="clientenom" value=""/><span id="direccioninfo">Direccion de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="colonia">Colonia</label>' + 
'<input type="text" name="colonia" class="clientenom" value=""/><span id="coloniainfo">Colonia de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="estado">Estado</label>' + 
'<input type="text" name="estado" class="estado" value=""/><span id="estadoinfo">Estado donde se encuentra la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="cp">Codigo Postal</label>' + 
'<input type="text" name="cp" class="clientenom" value=""/><span id="cp">Codigo Postal del lugar de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="telefono">Telefono</label>' + 
'<input type="text" name="telefono" class="clientenom" value=""/><span id="telefonoinfo">Telefono de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="email">E&ndash;mail</label>' + 
'<input type="text" name="email" class="clientenom" value=""/><span id="emailinfo">E&ndash;mail de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="acumulado">Acumulado</label>' + 
'<input type="text" name="acumulado" class="clientenom" value=""/><span id="acumuladoinfo">Total de todas las compras que se han hecho</span>' + 
'</div>' + 
'<div>' + 
'<label for="tipocliente">Tipo del Cliente</label>' + 
'<input type="text" name="tipocliente" class="clientenom" value=""/><span id="tipoclienteinfo">Que tipo de cliente es (Gobierno, Particular, Industrial, Distribuidor, Particular GR)</span>' + 
'</div>' + 
'<div>' + 
'<label for="prospecto">Prospecto o Cliente</label>' + 
'<input type="text" name="prospecto" class="clientenom" value=""/><span id="prospectoinfo">Prospecto o Cliente?</span>' + 
'</div>' + 
'<div>' + 
'<label for="nivel">Nivel del Cliente</label>' + 
'<input type="text" name="nivel" class="clientenom" value=""/><span id="nivelinfo">Nivel del cliente (depende del total acumulado)</span>' + 
'</div>' + 
'<div>' + 
'<input type="button" class="clientenom" id="send" value="Registrar Proyecto" />' + 
'</div>' + 
'</form>' 
; 
     $('.clienteinfo').append(html); 
} 
else 
{ 
var jqxhr = $.post('php/selectcliente.php',{"id_cliente":id_clientea}, function(data){ 
data = JSON.parse(data); 

if(typeof(data) == 'object' && JSON.parse){ 
var html = ''; 
var len = data.length; 
//alert(len); 
for(var i = 0; i<len; i++){ 
var d = data[i]; 
    if(!d.error){ 

html += '<form class="customForm" id="info">' + 
'<div>' + 
'<label for="contacto">Contacto</label>' + 
'<input type="text" name="contacto" class="clientenom" value="' + d.contacto + '"/><span id="contactoinfo">Nombre del contacto del cliente</span>' + 
'</div>' + 
'<div>' + 
'<label for="cliente">Cliente</label>' + 
'<input type="text" name="cliente" class="clientenom" value="' + d.cliente + '"/><span id="clienteinfo">Nombre de la empresa/cliente</span>' + 
'</div>' + 
'<div>' + 
'<label for="direccion">Direccion</label>' + 
'<input type="text" name="direccion" class="clientenom" value="' + d.direccion + '"/><span id="direccioninfo">Direccion de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="colonia">Colonia</label>' + 
'<input type="text" name="colonia" class="clientenom" value="' + d.colonia + '"/><span id="coloniainfo">Colonia de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="estado">Estado</label>' + 
'<input type="text" name="estado" class="estado" value="' + d.estado + '"/><span id="estadoinfo">Estado donde se encuentra la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="cp">Codigo Postal</label>' + 
'<input type="text" name="cp" class="clientenom" value="' + d.cp + '"/><span id="cp">Codigo Postal del lugar de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="telefono">Telefono</label>' + 
'<input type="text" name="telefono" class="clientenom" value="' + d.telefono + '"/><span id="telefonoinfo">Telefono de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="email">E&ndash;mail</label>' + 
'<input type="text" name="email" class="clientenom" value="' + d.correo + '"/><span id="emailinfo">E&ndash;mail de la empresa</span>' + 
'</div>' + 
'<div>' + 
'<label for="acumulado">Acumulado</label>' + 
'<input type="text" name="acumulado" class="clientenom" value="' + d.acumulado + '"/><span id="acumuladoinfo">Total de todas las compras que se han hecho</span>' + 
'</div>' + 
'<div>' + 
'<label for="tipocliente">Tipo del Cliente</label>' + 
'<input type="text" name="tipocliente" class="clientenom" value="' + d.tipo_cliente + '"/><span id="tipoclienteinfo">Que tipo de cliente es (Gobierno, Particular, Industrial, Distribuidor, Particular GR)</span>' + 
'</div>' + 
'<div>' + 
'<label for="prospecto">Prospecto o Cliente</label>' + 
'<input type="text" name="prospecto" clss="clientenom" value="' + d.prospecto + '"/><span id="prospectoinfo">Prospecto o Cliente?</span>' + 
'</div>' + 
'<div>' + 
'<label for="nivel">Nivel del Cliente</label>' + 
'<input type="text" name="nivel" class="clientenom" value="' + d.nivel + '"/><span id="nivelinfo">Nivel del cliente (depende del total acumulado)</span>' + 
'</div>' + 
'<div>' + 
'<input type="button" class="clientenom" id="send" value="Registrar Proyecto" />' + 
'</div>' + 
'</form>' 
; 
    }else{ 
     alert(d.error); 
     } 

    } 
    $('.clienteinfo').append(html); 
}else{ 
    alert("Is not object"); 

    } 
    }); 
    } 
} 
+0

フォームのHTMLを表示してください。 – Bojangles

答えて

4

.clientenom input[name="nivel"]clientenomのクラスで内の要素ですnivelnameinputを見つけようとしています。

これはあなたのhtmlでは当てはまりません。入力は.clientenomに含まれておらず、そのクラス自体があります。

同じ名前の複数の入力を持っていない限り、単にすべて一緒にクラスをドロップ:

var contacto = $('input[name="contacto"]').val(); 

クラスを必要とした場合は、それは次のようになります。

input.clientenom[name="nivel"] 

または

input[name="nivel"].clientenom 

編集:同様のメモで、ほとんどの場合、のような何らかの理由はありません。何らかの理由がある場合を除いて、要素がIDを持っていれば、選択したときに取得したいだけで、クラスリストを持ちます。

+0

素早く答えてくれてありがとう –

関連する問題