提交按钮不会触发

时间:2016-08-15 18:52:56

标签: php forms submit

我的提交按钮突然停止工作。它将数据提交到MySQL数据库。 当我做一些设计更改时,它突然停止工作。

下面的代码中是否有明显的错误/错误? 我是一个正在尝试学习PHP等等的菜鸟,所以任何帮助都会非常感激。 :)

<section id="moviesearch">
  <!-- Section -->
  <div class="subcribe2">
    <div class="container">
      <!-- Container -->
      <div class="row">
        <!-- Row -->
        <div class="col-md-4">

        </div>

        <body ng-app="myApp">
          <div ng-controller="MyCtrl" class="col-md-4">
            <form class="form-watch-list-create">
              <input required="required" placeholder="Movie title" type="text" class="form-control" typeahead="item.Title for item in getLocation($viewValue)" typeahead-loading="loadingLocations" typeahead-min-length="2" typeahead-wait-ms="1000" typeahead-on-select="onSelected($item)"
              typeahead-template-url="customTemplate.html" ng-model="asyncSelected">
              <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
          </div>


          <div class="col-md-4">
            <button type="submit" class="btn btn-block btn-sm btn-dark">Add to watchlist</button>
          </div>

        </body>
      </div>
      <!-- End Row -->
    </div>
    <!-- End Container -->
  </div>

  <script type="text/ng-template" id="customTemplate.html">
    <a>
      <span bind-html-unsafe="match.label | typeaheadHighlight:query" style="width: auto;"></span>
      ({{match.model.Year}})

      <!-- <img ng-src="{{match.model.Poster}}" width="120"> -->
    </a>
  </script>

  <div ng-controller="MyCtrl">
    <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
  </div>
</section>

修改 这是将数据发送到MYSQL数据库的代码:

function addWatchList() {
    if (isset($_GET['addtowatchlist'])) {
        $name = $_GET['name'];
        $conn = dbmysql();
        $query ="INSERT INTO watch_list values(null,'{$name}','{$_SESSION['user_id']}','NOW()')";
        if (mysqli_query($conn,$query)) {
            $last = "SELECT * FROM watch_list WHERE created_by  = '{$_SESSION['user_id']}' order by id desc limit 1";
            $data = mysqli_query($conn,$last);
            while ($row = mysqli_fetch_assoc($data)) {
                include "_view.php";    
            }
        }else {
            echo "An error occurred. Please try again.";
        }
        exit;
    }
}

2 个答案:

答案 0 :(得分:0)

提交按钮不在表单内。

您遗漏了</form>标记以结束<form>。但是,您</div>的{​​{1}}与<div>之前的</form>匹配,因此它也会隐式关闭<form>标记。然后你有<input type="submit">之后。由于提交按钮不在表单内,并且没有form标记将其与表单相关联,因此当您单击它时,它不知道应该提交哪种表单。

试试这个:

<form class="form-watch-list-create">
    <div ng-controller="MyCtrl" class="col-md-4">  
        <input 
            required="required"
            placeholder="Movie title"
            type="text"
            class="form-control"
            typeahead="item.Title for item in getLocation($viewValue)"
            typeahead-loading="loadingLocations"
            typeahead-min-length="2"
            typeahead-wait-ms="1000"
            typeahead-on-select="onSelected($item)"
            typeahead-template-url="customTemplate.html"
            ng-model="asyncSelected">
        <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
    </div> 
    <div class="col-md-4">
        <button type="submit" class="btn btn-block btn-sm btn-dark">Add to watchlist</button>
    </div>
</form>

这会将表格放在两列之间。

答案 1 :(得分:0)

使用表单标记中的method属性并正确结束表单标记

<form role="form" method="get" class="form-watch-list-create">
  <div ng-controller="MyCtrl" class="col-md-4">  
        <input 
            required="required"
            placeholder="Movie title"
            type="text"
            class="form-control"
            typeahead="item.Title for item in getLocation($viewValue)"
            typeahead-loading="loadingLocations"
            typeahead-min-length="2"
            typeahead-wait-ms="1000"
            typeahead-on-select="onSelected($item)"
            typeahead-template-url="customTemplate.html"
            ng-model="asyncSelected">
        <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
    </div> 
    <div class="col-md-4">
        <button type="submit" class="btn btn-block btn-sm btn-dark">Add to watchlist</button>
    </div>
</form>