簡體   English   中英

用JavaScript提交php彈出式表單

[英]Submitting a php pop-up form with javascript

我有一個用javascript打開的php彈出表單。 我希望在單擊“提交”時將其發送到我的數據庫。 php表單在沒有javascript的情況下可以正常工作,但是添加后無法正常工作。 您有任何解決方法的想法嗎?

 </style>
 <script type='text/javascript'>
 $(document).ready(function() {
  $('#box_form').dialog({
    autoOpen: false,
    height: 375,
    width: 350,
    modal: true,
    buttons: [
        {
        text: "Cancel",
        click: function() {
            $(this).dialog("close");
        }},
    {
        text: "Submit",
        click: function() {
            $('#former').submit();
        }}
    ]
});
$('#clicky').button().click(function(e){
    $('#box_form').dialog('open');
});
  });
    </script>
    </head>
   <body>
   <form id="former" method="post" action="film_post.php" name="former">
  <div id="box_form">
   <select id="option" name="option">
                    <option value="film">film</option>
                    <option value="livre">livre</option>
                    <option value="musique">musique</option>            
            </select></p>
    <p>
    <select id="star" name="star">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option> 

            </select></p>
    <label for="nom">nom</label> :  <input type="text" name="nom" id="nom" /><br />

 </div>
 </form>
 <input type="button" id="clicky" value="Show Form">

film_post.php文件為:

  try
  {
$bdd = new PDO('mysql:host=localhost;dbname=website', 'root', 'root');
   }
  catch(Exception $e)
 {
    die('Erreur : '.$e->getMessage());
   }

    $option = $_POST['option'];
      $star = $_POST['star'];

    if ($option == film AND $star = 1) {
   $req = $bdd->prepare('INSERT INTO film (film, star) VALUES(?,?)');
     $req->execute(array($_POST['nom'],$_POST['star'] )); }

     elseif ($option == film AND $star = 2) {
    $req = $bdd->prepare('INSERT INTO film (film, star) VALUES(?,?)');
    $req->execute(array($_POST['nom'],$_POST['star'] )); }

     elseif ($option == film AND $star = 3) {
   req = $bdd->prepare('INSERT INTO film (film, star) VALUES(?,?)');
   $req->execute(array($_POST['nom'],$_POST['star'] )); }

顯然我還不能發布圖片,因此,這是我在下面的回答中所討論的圖片的鏈接。 http://i.stack.imgur.com/xgExo.png

我執行了您的代碼,抓住了必要的腳本src標記(假定您已在實際代碼中使用了該標記),並發現了同樣的問題。 在查看了Firebug控制台(如jchapa建議的那樣)之后,我發現您可以在上面的圖像中看到什么。

您正在使用的jQuery用戶界面以這樣的方式重寫您的jQuery UI:它不僅為其提供了那些起泡的圖形,而且還過早地終止了表單標簽,正如我在下划線“”處所看到的那樣。

我不知道如何解決此問題,但這就是問題所在。 您可以考慮在線查找如何在此jQuery UI中設置表單,也可以只通過對話框構建自己的表單。 誠然,圖形不會那么時尚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM