bootstrap表单未提交

时间:2016-04-03 09:27:07

标签: php jquery html forms twitter-bootstrap

我正在使用Bootstrap并尝试将表单提交到PHP页面。但form未提交。

<div class="container">   
  <div class="row">
    <div class="col-md-5 col-sm-12">
      <ul class="timeline" data-offset-top="3">
        <li>
          <div class="timeline-panel">
            <form name="Wall_Post" id="Wall_Post" action="/update.php"  method="post" role="form" enctype="multipart/form-data" class="facebook-share-box">
              <div class="timeline-body">
                <div class="share-form">
                  <ul class="post-types">
                    <li class="post-type">
                      <a class="status" id="shareType" href="#"><i class="fa fa-file"></i> Status</a>
                    </li>
                    <li class="post-type">
                      <a class="photos" id="shareType" href="#"><i class="fa fa-camera"></i> Photos</a>
                    </li>
                    <li class="post-type">
                      <a class="videos" id="shareType" href="#"><i class="fa fa-film"></i> Video</a>
                    </li>
                    <li class="post-type">
                      <a class="location" id="shareType" href="#"><i class="fa fa-map-marker"></i> Place</a>
                    </li>
                  </ul>
                  <div class="share">
                    <div class="arrow"></div>
                    <div><textarea name="message" cols="40" rows="10" id="status_message" class="form-control message" style="height: 62px; overflow: hidden;" placeholder="What's on your mind ?"></textarea> </div>

                    <div class="image hide">
                      <input type="file" class="form-control" name="image" id="image" />
                    </div>
                    <div class="video hide">
                      <input type="text" class="form-control" placeholder="Youtube or Vimeo video URL" id ="videoUrl" name="videoUrl"/>
                    </div>
                    <div class="place hide">
                      <input id="geocomplete" class="form-control" type="text" name="location" placeholder="Enter a location" />
                      <div class="map_canvas"></div>
                      <input type="hidden" name="lat" />
                      <input type="hidden" name="lng" />
                    </div>
                    <input type="hidden" name="shareType" class="shareType" value="status" />
                  </div>
                </div>
              </div>
              <div class="timeline-footer clearfix">
                <div class="pull-right">
                  <input type="submit" name="submit" value="Post" id="btn-share" class="btn btn-primary" />
                </div>
              </div>
            </form>
          </div>
        </li>
      </ul>
    </div>
  </div>     
</div>  

我也在我的网站上使用jquery v1.11.1,相同的代码在其他页面中工作正常,其中不包括jquery v1.11.1。另一件事我不想使用ajax提交表单。有可能吗?

4 个答案:

答案 0 :(得分:1)

你的html工作正常(尽管有一些重复的id ..)。当我单击提交按钮时,表单提交到/update.php。所以它必须是javascript阻止提交表单。你有任何javascript文件吗?如果是,他们是否会提交表格?

编辑: 我在使用javascript文件发表评论后发现了这个问题:在你的script.js中,你在第12行做了$("form").submit()。在这个函数的最后,你做return false;。这会覆盖每个表单的提交过程。删除第47行的return false;以及第45行的那个(或者只删除switch语句中的整个默认部分)!

答案 1 :(得分:0)

一个错误是您有多个相同ID的实例(&#34; shareType&#34;) - 我不知道是否会导致问题 - 但您应该更改这些是每个链接的唯一ID。复制ID的示例如下:

<a class="status" id="shareType" href="#"><i class="fa fa-file"></i> Status</a>

答案 2 :(得分:0)

输入action="/update.php"尝试使用action="../update.php

进行更改可能是错误的

答案 3 :(得分:0)

正如@Laurens所说 - 你在该函数的末尾做了一个返回false,但是你正在根据提交的表单的id做一个switch语句,默认的操作是返回false,如果是身份不是三个陈述中的一个。这意味着此表单(不是列出的三个表单之一)将触发默认操作并返回false - 因此不提交表单。您需要为此表单添加一个开关案例,就像您与其他人一样