2015-05-20 3 views
3

У меня есть форма, где я хочу показать пользователю свои входные данные в диалоговом окне и сохранить в SQL с помощью PHP одним щелчком мыши. Проблема в том, что я могу вызвать только одно (либо диалоговое окно, либо PHP) за один раз. В диалоговом окне требуется anchor тегВызов PHP и диалоговое окно одним щелчком мыши

<a href="#" value="Save" onclick="submit()">Save</a> 
<script> 
    document.forms["myform"].reset(); 
    $(function(){ 
     $("#dialog").dialog({ 
      autoOpen:false, 
      modal:true, 
      width:400, 
      height:300, 
      buttons:{ 
       "OK": function(){ 
         $(this).dialog("close"); 
         alert("Saved"); 

        }, 
       "Cancel":function(){ 
         $(this).dialog("close"); 
        } 
      } 
     }); 

    }); 
    function submit(){ 
     $("#location").html($("#pac-input").val()); 
     $("#type").html($("input:radio[name='sex']:checked").val()); 
     $("#open").html($("#open").val()); 
     $("#close").html($("#close").val()); 
     $("#review").html($("#review").val()); 
     $("#rating").html($("input:radio[name='rating']:checked").val()); 
     $("#dialog").dialog("open"); 
     } 
    </script> 

и PHP требует кнопку отправки для хранения значений

<input type="submit" name="submit"> 
<?php 
      $address= $_POST['address']; 
      $type = $_POST['sex']; 
      $open = $_POST['open']; 
      $close = $_POST['close']; 
      $review = $_POST['review']; 
      $rating = $_POST['rating']; 
      $dbname = "addtoilet"; 
      // Create connection 
      $conn = mysqli_connect("localhost:3306", "root","",$dbname); 

      // Check connection 
      if ($conn->connect_error) { 
       die("Connection failed: " . $conn->connect_error); 
      } else{ 
      echo "Connected successfully"; 
      } 
      $sql = "INSERT INTO add (address, type, open, close) 
       VALUES ('$address', '$type', '$open', '$close')"; 
      if (mysqli_query($conn, $sql)) { 
       echo "New record created successfully"; 
      } else { 
       echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
      } 

      mysqli_close($conn); 
     } 
     ?> 
+0

называется [нагрузка внешнего вопрос файла] (http://stackoverflow.com/questions/11960619/load-external-php- файл-в-JQuery покадрово-диалог-OnClick). Это сработало!! – Dimple

ответ

1

Написать функцию представить внутри ОК функции диалога.

<a href="#" value="Save" onclick="submit()">Save</a> 
<script> 
document.forms["myform"].reset(); 
$(function(){ 
    $("#dialog").dialog({ 
     autoOpen:false, 
     modal:true, 
     width:400, 
     height:300, 
     buttons:{ 
      "OK": function(){ 
        $("#your_form_id").submit();// also you can call ajax here if you don't want to reload the page 
        $(this).dialog("close"); 
        alert("Saved"); 

       }, 
      "Cancel":function(){ 
        $(this).dialog("close"); 
       } 
     } 
    }); 

}); 
function submit(){ 
    $("#location").html($("#pac-input").val()); 
    $("#type").html($("input:radio[name='sex']:checked").val()); 
    $("#open").html($("#open").val()); 
    $("#close").html($("#close").val()); 
    $("#review").html($("#review").val()); 
    $("#rating").html($("input:radio[name='rating']:checked").val()); 
    $("#dialog").dialog("open"); 
    } 
</script> 
+0

Я хочу передать данные в sql, используя php, как я могу запустить php? – Dimple

+0

введите форму url или ajax url в ваш php-файл, где вы написали код в php. Когда ваша форма отправит php-скрипт, запустится – Iftikhar

+0

плз, объясните с кодом – Dimple

0

Вам нужно будет использовать Jquery ajax. который будет отправлять данные в php одним и тем же кликом. Вы также можете использовать стенографический метод POST.
Сохраните данные, которые хотите опубликовать в json-формате, в переменной say data и передайте ее методу post.

Функция submit() {
var location = $ ("# pac-input"). Val();
  var data = "{'location': '" + location + "'}";

вар jqxhr = $ .post ("example.php", данные, функция() {
console.log ("успех");
})
.done (функция() {
$ ("#dialog") диалог ("открытый");.

})
.fail (функция() {
console.log ("ошибка");
})
.always (функция() {
console.lo g («завершено»);
});

}
Вы можете открыть диалоговое окно, в зависимости от успеха метода поста

+0

, что делает example.php? – Dimple

+0

Это файл php, который получает данные с использованием метода POST с клиентской стороны. –

+0

т. Е. Имя файла, содержимое которого содержит php-скрипт: –

Смежные вопросы