【问题标题】:Submit a form by clicking href links, without using a submit button通过单击 href 链接提交表单,而不使用提交按钮
【发布时间】:2016-04-03 22:03:06
【问题描述】:

我有一个页面,其中有搜索字段。该页面设计为在单击提交链接时将结果显示在具有 id 的同一页面上,结果将显示在下方。提交按钮是一个链接,而不是传统的提交按钮。我的问题是我已经完成了所有 php 的东西,但是当我点击让结果出现的链接时,php 没有运行。有人可以帮我吗。下面是代码。谢谢

    <form action="" method="post">
                        <div class="col-md-9">
                        <div class="row">
                            <div class="col-md-7 no-padding">
                                <div class="inner">
                                    <h3>Track &amp; Trace</h3>
                                    <span>Already have a load ID, please insert it below</span>
                                </div>
                            </div>
                            <div class="col-md-5 no-padding">
                                <input class="input-fullwidth" name="track" id="track">
                            </div>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <a id="track-it" href="#section-tracking-result" class="btn-custom btn-fullwidth">Track it</a>
                    </div>
                </form>
<?php
     define('DB_HOST','localhost');
     define('DB_USER','username');
     define('DB_PASS','password');
     define('DB_NAME','dbname');

     $conn = mysql_connect(DB_HOST,DB_USER,DB_PASS) or die(mysql_error());
     mysql_select_db(dbname) or die(mysql_error());
     $output = '';
     if(isset($_POST['track'])) {
         if(empty($_POST['track'])) {
             echo "Tracking Code is Required";
         }
        $searchq = $_POST['track'];
        $searchq = preg_replace("#[^0-9a-z]#i", "",$searchq);
        $query = mysql_query("SELECT * FROM track WHERE keywords LIKE '%$searchq%'");
        $count = mysql_num_rows($query);

        if($count == 0) {
             $output = 'There was no search results!';
        } else {
            while($row = mysql_fetch_array($query)) {
                      $consignee = $row['consignee'];
                      $desti = $row['desti'];
                      $date = $row['date'];
                      $id = $row['id'];
            }
        }


    }

?>

【问题讨论】:

  • 看起来你甚至没有 HTML 的
    标签!确保您正在使用它们,以便 PHP 可以使用 HTML 输入!如果有任何问题,请告诉我。
  • 照常使用表格;创建提交表单的链接并使用 onclick="form.submit();"在链接上

标签: php html forms


【解决方案1】:
<form id="my_form">
<!-- Your Form -->    
<a href="javascript:{}" onclick="document.getElementById('my_form').submit(); return false;">submit</a>
</form>

在此之前,您必须设置一个&lt;form&gt;

【讨论】:

  • 我做了一些改变,但仍然如此。当我提交表单时,这就是我在地址栏中得到的。 localhost/trackit/#section-tracking-result
  • 你添加了表单ID,标签的href和onclick
  • w3schools.com/jsref/tryit.asp?filename=tryjsref_form_submit这里使用了一个简单的按钮,你可以使用那里的a标签。
  • 这里是链接检查出来。 joemarshipping.com/trackit
  • 对你有帮助吗?
【解决方案2】:

你需要把你的 html 放在一个表单中,你只需要设置传统的提交按钮的样式。

如果您不想创建表单,您可能能够在 Javascript 中实现您在此处所做的任何事情。

但是 PHP 需要你使用 &lt;form&gt;&lt;/form&gt; 提交

试试这个:

<form method="post"> <input type="text" class="input-fullwidth" name="track" id="track" /> <input type="submit" id="track-it" name="submit" class="btn-custom btn-fullwidth" /> </form>

并在您的 PHP 中检查它是否已提交

if(isset($_POST['submit'])) {
    // your checks and execution goes here
}

这样你检查表单是否提交,如果轨道输入为空,那么你说它不应该是。

【讨论】:

  • 我的朋友,KofYebs 使用的是链接而不是普通的提交按钮
猜你喜欢
  • 1970-01-01
  • 2016-10-01
  • 2017-04-26
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2013-04-10
  • 1970-01-01
相关资源
最近更新 更多