2010-03-03 6 views
3

Ive été déconner avec jqgrids beaucoup des deux derniers jours, et j'ai presque tout la façon dont je veux de l'écran, les onglets avec grilles différentes, etc.jQuery/jqGrids/Envoi trouble des données de formulaire

Im vouloir utiliser Modal pour ajouter et modifier des éléments sur ma grille. Mon problème que je rencontre est celui-ci. J'ai mon editurl: "editsu.php" ensemble, si ce fichier est renommé, sur edit, je reçois un 404 dans le modal .. génial! Cependant, avec ce dossier en place, rien ne semble se produire. Je mets même un dé ("testing"); ligne en haut, donc il voit le fichier, il ne fait rien avec.

Ci-dessous le contenu. ........ la page d'index

jQuery("#landings").jqGrid({ 
    url:'server.php?tid=1', 
    datatype: "json", 
    colNames:['ID','Tower','Sector', 'Client', 'VLAN','IP','DLink','ULink','Service','Lines','Freq','Radio','Serial','Mac'], 
    colModel:[ 
     {name:'id', index:'id', width : 50, align: 'center', sortable:true,editable:true,editoptions:{size:10}}, 
     {name:'tower', index:'tower', width : 85, align: 'center', sortable:true,editable:false,editoptions:{readonly:true,size:30}}, 
     {name:'sector', index:'sector', width : 50, align: 'center',sortable:true,editable:true,editoptions:{readonly:true,size:20}}, 
     {name:'customer',index:'customer', width : 175, align: 'left', editable:true,editoptions:{readonly:true,size:35}}, 
     {name:'vlan', index:'vlan', width : 35, align: 'left',editable:true,editoptions:{size:10}}, 
     {name:'suip', index:'suip', width : 65, align: 'left',editable:true,editoptions:{size:20}}, 
     {name:'datadl',index:'datadl', width:55, editable: true,edittype:"select",editoptions:{value:"<? $qr = qquery("select * from datatypes"); while ($q = ffetch($qr)) {echo "$q[id]:$q[name];";}?>"}},  
     {name:'dataul', index:'dataul', width : 55, editable: true,edittype:"select",editoptions:{value:"<? $qr = qquery("select * from datatypes"); while ($q = ffetch($qr)) {echo "$q[id]:$q[name];";}?>"}}, 
     {name:'servicetype', index:'servicetype', width : 85, editable: true,edittype:"select",editoptions:{value:"<? $qr = qquery("select * from servicetype"); while ($q = ffetch($qr)) {echo "$q[id]:$q[name];";}?>"}}, 
     {name:'voicelines', index:'voicelines', width : 35, align: 'center',editable:true,editoptions:{size:30}}, 
     {name:'freqname', index:'freqname', width : 35, editable: true,edittype:"select",editoptions:{value:"<? $qr = qquery("select * from freqband"); while ($q = ffetch($qr)) {echo "$q[id]:$q[name];";}?>"}}, 
     {name:'radioname', index:'radioname', width : 120, editable: true,edittype:"select",editoptions:{value:"<? $qr = qquery("select * from radiotype"); while ($q = ffetch($qr)) {echo "$q[id]:$q[name];";}?>"}}, 
     {name:'serial', index:'serial', width : 100, align: 'right',editable:true,editoptions:{size:20}}, 
     {name:'mac', index:'mac', width : 120, align: 'right',editable:true,editoptions:{size:20}} 

    ], 
    rowNum:20, 
    rowList:[30,50,70], 
    pager: '#pagerl', 
    sortname: 'sid', 
    mtype: "GET", 
    viewrecords: true, 
    sortorder: "asc", 
    altRows: true, 
    caption:"Landings", 
    editurl:"editsu.php", 
    height:420 
    }); 
jQuery("#landings").jqGrid('navGrid','#pagerl',{edit:true,add:true,del:false,search:false},{height:400,reloadAfterSubmit:false},{height:400,reloadAfterSubmit:false},{reloadAfterSubmit:false},{}); 

maintenant le fichier editsu.php ..

$operation = $_REQUEST['oper']; 
if ($operation == "edit") { 
    qquery("UPDATE customers SET vlan = '".$_POST['vlan']."', datadl = '".$_POST['datadl']."', dataul = '".$_POST['dataul']."', servicetype = '".$_POST['servicetype']."', voicelines = '".$_POST['voicelines']."', freqname = '".$_POST['freqname']."', radioname = '".$_POST['radioname']."', serial = '".$_POST['serial']."', mac = '".$_POST['mac']."' WHERE id = '".$_POST['id']."'") or die(mysql_error()); 
} 

Im juste un moment difficile à résoudre ce savoir où ça se bloque à. Ma question suivante après ceci serait de voir s'il est possible de le faire quand vous cliquez sur "ajouter", qu'elle insère automatiquement une ligne dans la DB avec une variable prédéterminée, puis affichez la fenêtre modale, mais mauvais travail sur le premier problème d'abord.

merci!

+0

mis 'error_reporting (E_ALL)' en haut de votre page PHP. Pourrait être juste une erreur PHP simple. – cmptrgeekken

Répondre

1

Je ne vois pas de fonction de rappel partout. Qu'est-ce qui est supposé arriver après le retour de votre réponse de server.php?

+0

Soit une mise à jour ou un ajout. Id aiment obtenir une simple mise à jour du dossier de travail, puis ma prochaine étape est un ajout à plusieurs étapes, où vous avez la recherche d'un client (d'un autre db sql (j'ai le code de ce travail déjà dans mon ancien cadre , mais sa simple fonction), il renvoie un numéro de client. de là, ils peuvent remplir le reste des détails. donc, cette fonction im manque, est-ce qu'ils partissent avec la JS pour rendre la grille? – Kelso

+0

Oops . trop rapide pour répondre .. server.php est ce qui renvoie les données pour remplir la grille. la? tid qui décrit que l'emplacement de chargement des données pour. J'utilise le plugin onglets pour séparer mes grilles, mais cela pourrait changer à l'avenir, – Kelso

+0

il est posté sur la grille, mais dès que je recharge son parti, donc vous avez probablement raison, im manquant une fonction de rappel, malheureusement je ne trouve pas de bons exemples à suivre ou même où regarde .. – Kelso

0

quelques questions:

  1. vos données ne sont mis à jour dans votre base de données après l'appel à editsu.php?
  2. peut vous vu la demande/réponse dans le panneau de réseau de Firebug?

Jerome