【问题标题】:Form don't submit action=PHP表单不提交动作=PHP
【发布时间】:2014-10-23 20:07:21
【问题描述】:

所以...我在 html 页面中有一个表单,在提交时将调用 teste1.php,后者会将表单字段添加到 mysql 数据库中。问题是表单永远不会提交。我在这个页面上有两个表单(是的,我都需要),但我认为这不是问题。

好的,这是我的表格:

<div id="apresentacao">
        <form  method="post" action="teste1.php" id="form" style="display:none">

            <div>
                <label for="nome">Nome:</label>
                <input class="form-control" placeholder="Não obrigatório" autofocus="autofocus" type="text" name="nome" id="nome" />
            </div>

            <div>
                <label for="email">* Email:</label>
                <input class="form-control" pattern="^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" placeholder="Ex: nome@gmail.com" type="email" name="email" id="email" /> 
            </div>

            <div>
                <label for="enderecoform">Endereço:</label>
                <input type="text" id="enderecoform" name="enderecoform" />
            </div>

            <div>
                <label for="latitude">Latitude</label>
                <input type="text" id="txtLatitude" name="txtLatitude" class="form-control" />
            </div>

            <div>
                <label for="longitude">Longitude</label>
                <input type="text" id="txtLongitude" name="txtLongitude" class="form-control" />
            </div>

            <div>
                <label for="data">Data:</label>
                <input class="form-control" type="text" name="" id="data" />
            </div>

            <div>
                <label for="crime">Crime:</label>
                    <select name="sexo" id="sexo" class="form-control" >
                        <option class="form-control" value="">Selecione...</option>
                        <option class="form-control" value="Assalto">Assalto</option>
                        <option class="form-control" value="Agressao1">Agressão física</option>
                        <option class="form-control" value="Agressao2">Agressão verbal</option>
                        <option class="form-control" value="Estupro">Estupro</option>
                        <option class="form-control" value="Invasão">Invasão à domicílio</option>
                        <option class="form-control" value="Latrocinio">Latrocínio</option>
                        <option class="form-control" value="Homicídio">Homicídio</option>
                        <option class="form-control" value="Furto">Furto</option>
                        <option class="form-control" value="Outros">Outros</option>
                    </select>
            </div>

            <div>
                <label for="textarea">Descrição:</label>
                <textarea maxlength = "150" cols="50" rows="2" class="form-control">
                </textarea>
            </div>

            <br />

            <div>
                <input type="reset" id="limpar" class="btn btn-info" name="limpar" value="Limpar" />
            </div>

            <div>
                <input type="submit" id="inserir" class="btn btn-success" name="inserir" value="Cadastrar" />
            </div>

        </form>
    </div>

这是我的 php 文件:

<?php

$endereco = $_REQUEST['enderecoform'];
$latitude = $_REQUEST['txtLatitude'] ;
$longitude = $_REQUEST['txtLongitude'];
//inserir(array("latitude","longitude"), array("1","1"), "crimes");

echo "$endereco";
echo "$latitude";
echo "$longitude";

?>

编辑

当我单击提交按钮时,什么也没有发生,它只是停留在同一页面上,就像那个按钮根本没有任何动作一样。另外,表单设置为“隐藏”,因为起初我不想显示它,但是页面上有两个按钮,一个设置为“阻止”,另一个设置为“隐藏”,所以由用户决定。

【问题讨论】:

  • "我在这个页面上有两个表单" 表单是嵌套的吗?
  • “表单从不提交”是什么意思?
  • 当我点击提交按钮又名地籍时,什么也没有发生。它应该去teste1.php,对吧?但事实并非如此。
  • 您能否在问题中描述单击提交时会发生什么?根据我看到的代码,这个表单被设置为隐藏,还有什么东西可以让这个特定的表单可见吗?
  • 做到了兄弟。当我点击提交时,就像那个按钮没有动作或事件一样,它只是“空”

标签: javascript php jquery html forms


【解决方案1】:

您好,我认为两种形式并不是很重要的事实。但最好防止这样做。

我猜你可以使用 jquery 命令解决你的问题。

  1. 将 jQuery 库添加到您的源代码中。
  2. 将提交按钮类型更改为按钮
  3. 将此属性添加到您的按钮代码中:onclick="javascript:$('#form').submit();"

我认为这可以解决您的问题。 为了确保您的表单工作正常,您可以将此属性添加到您的表单代码中:onsubmit="return true;"

【讨论】:

  • 它没有以这种方式工作,但多亏了你,我尝试了 "onclick="javascript:document.getElementById('form').submit();"" 并且成功了!非常感谢
【解决方案2】:

我认为没有办法用一个提交按钮提交两个单独的表单。

您需要使用一些 javascript 来获取其他表单的内容。

同时尝试使用 $_POST 而不是 $_REQUEST 变量

还要确保 teste1.php 与您的 html 文件位于同一文件夹中

【讨论】:

  • 第一个表单有自己的提交按钮,它工作得很好。问题出在这个表格上。当我点击提交按钮时,什么也没有发生,它停留在页面上,就像那个按钮无效或者什么
  • 为什么表单上有 style="display:none"?你真的要隐藏它吗?
  • 是的,起初。但在其余代码中,有两个按钮再次将其设置为“阻止”或“隐藏”,因此用户将决定
  • 您的代码中的其他地方可能有问题,但我刚刚在 jsfiddle 中测试了您的一段代码,它似乎可以工作。看看这个jsfiddle.net/fkxbbuwg
猜你喜欢
  • 2013-01-13
  • 1970-01-01
  • 2014-01-18
  • 1970-01-01
  • 2021-01-26
  • 2019-01-09
  • 2019-01-03
  • 1970-01-01
  • 2011-07-05
相关资源
最近更新 更多