2016-06-16 8 views
1

Ich habe eine Dialogbox, die nach Ihrem Namen und Ihrer Adresse fragt und wenn Sie OK klicken, öffnet sich ein Dialog, in dem Name und Adresse angezeigt werden sollen habe es versucht mit Ajax Post, aber nichts scheint in der gewünschten Weise zu funktionieren. Bitte helfen Sie mir. Vielen Dank im Voraus. Hier ist, was ich versucht habe:Um den Wert aus einem Dialogfeld abzurufen und in einem anderen Dialogfeld anzuzeigen

display.php:

<input type="button" id="dialog_open" name="dialog_open" value="dialog_open" ></input> 

<form action = "" method="post"> 
    <div id="dialog" title="Enter details" style="display:none" > 
     Name :<input type="text" class="form-control input-sm" name="name" id="name" /> 
     Address: <textarea row="3" col="50" class="form-control input-sm" name="address" id="address" ></textarea> 
    </div> 
    <div id="show" title="welcome" style="display:none"> 
     <header style="text-align:center; font-size:20px; font-style:arial"> 
      <b><?php echo $_POST['keyname']; ?></b> 
      <p style="text-align:left; font-size:14px">Address:<?php echo $_POST['keyadd']; ?></p> 
     </header> 
    </div> 

mein Script-Code:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#dialog_open').click(function(){ 
      $('#dialog').dialog({ 
       buttons: { 
        "Yes" : function() { 
         $(this).dialog('close'); 
         callback(true);  
        }, 
        "No" : function() { 
         $(this).dialog('close'); 
        } 
       } 
      }); 

      function callback(value) { 
       if (value) { 
        var name = $('#name').val(); 
        var add = $('#address').val(); 
        $.ajax({ 
         type: 'post', 
         url: 'display.php', 
         data: {keyname: com,keyadd: add}, 
         success: function() { 
          alert("done"); 
         } 
        }); 

        $('#show').dialog({ 
         height:500, 
         width:800, 
         buttons:{ 
          "OK":function(){ 
           $(this).dialog('close'); 
          }, 
          "Cancel":function(){ 
           $(this).dialog('close'); 
          } 
         } 
        }); 
       } 
      } 
+0

Sie gleichen ID-Selektor verwenden können, Werte zu erhalten .. 'var name = $ ('# name') val(). var add = $ ('# address'). val(); 'Element ist nur versteckt, ist aber immer noch in Ihrem HTML vorhanden, bis Sie die Seite aktualisieren oder umleiten. –

+0

aber wie zeige ich sie an? Mein Code ruft die Werte ab, aber nicht sie bekannt zu geben, oder Sie können sie anzeigen. @ DineshPatil –

+0

Ihr Code fehlt externe js eingeschlossen. Können Sie Ihren Code auf jsfiddle oder irgendeinem anderen Redigierwerkzeug teilen? es dauert nicht viel Zeit .. und ich kann dir den laufenden Code direkt geben. –

Antwort

0

Ich hoffe, Sie suchen this-

 function callback(value) { 
      if (value) { 
       var name = $('#name').val(); 
       var add = $('#address').val(); 
       $.ajax({ 
        type: 'post', 
        url: 'display.php', 
        data: {keyname: name,keyadd: add}, 
        success: function() { 
         alert("done"); 
         $("#show b").html("Name : "+name); 
         $("#show p").html("Address : "+add); 
        } 
       }); 

       $('#show').dialog({ 
        height:500, 
        width:800, 
        buttons:{ 
         "OK":function(){ 
          $(this).dialog('close'); 
         }, 
         "Cancel":function(){ 
          $(this).dialog('close'); 
         } 
        } 
       }); 
      } 
     } 
+0

Vielen Dank ..dies arbeitete für mich. @ Dinesh Patil –

0

Ich denke, Ihre Callback-Daten ist falsch:

data: {keyname: com,keyadd: add}, ->data: {'keyname': name,'keyadd': add},

Versuchen Sie dies zu ändern.

+0

keine Änderung .. @ Denis Gianne –