Javascript form.submit()无法正常工作

Javascript form.submit()无法正常工作,javascript,php,html,Javascript,Php,Html,在这里获取表单有点困难。请正常工作。我第一次研究PHP,我确定如何在这里找到我的问题。看起来Javascript工作正常。奇怪的是,如果我创建一个正常的模型,一切都正常工作。不幸的是,我需要做的是在表单外部的另一个输入按钮上调用form.submit作为事件处理程序 <div id="top-header"></div> <div id="form-container"> <div i

在这里获取表单有点困难。请正常工作。我第一次研究PHP,我确定如何在这里找到我的问题。看起来Javascript工作正常。奇怪的是,如果我创建一个正常的模型,一切都正常工作。不幸的是,我需要做的是在表单外部的另一个输入按钮上调用form.submit作为事件处理程序

           <div id="top-header"></div>    
        <div id="form-container">
            <div id="location-section">
                <form id="customer-info" class="unselectable" unselectable='on' method="post" target="_blank">
                    Company name &nbsp
                    <input type="text" class="textInput" id="company-name" name="name">
                    <br>Street address
                    <input type="text" class="textInput" id="street-address" name="address">
                    <br>City
                    <input type="text" class="textInput"  id="city">
                    <br>State/Province
                    <input type="text" class="textInput"  id="state-province">
                    <br>Zip code
                    <input type="text" class="textInput"  id="zip-code">
                    <br>Country
                    <input type="text" class="textInput"  id="country">
                </form>
            </div>
我在这个项目中使用了一些JQuery,所以我将所有内容都打包在一个$document.ready中

奇怪的是,我的console.log实际上正常输出submit,所以这段代码肯定正在执行。这让我觉得我的问题不是很明显,至少对我来说可能不是

    submit.addEventListener("click", function(){
        console.log("Submit");
        customerInfo.submit();
}); 
Javascript

  <?php
 if(isset($_POST["name"]))
 {
   echo $_POST["name"];

}
else
{
    echo "no name provided";
}

if(isset($_POST["address"]))
{
     echo $_POST["address"];
}
else
{
     echo "no address provided";
}
?>
PHP


我看得越多,它就越令人困惑。看起来我在创建变量时没有犯任何明显的错误,所以我很好奇是什么导致了这些问题。

您的表单没有action属性。因此,当您提交时,它不会做任何事情。您需要添加一个命中该PHP端点的action属性

或者,在表单中添加一个onclick侦听器,并在提交时执行您希望它执行的任何工作

无论哪种方式,当您提交表单时,您的表单当前没有任何设置要执行,这就是它无法工作的原因


编辑:正如一些人在评论中指出的,HTML5中的action属性。尽管如此,该代码不起作用的事实仍然让我相信您应该调查这一可能的原因

您是否查看了浏览器的Javascript控制台以查看是否有任何错误报告?还有,目前到底发生了什么?你只是说它不起作用。但这意味着什么?好问题-我的控制台输出按预期正常提交。我非常熟悉javascript,所以我认为浏览器不会发现语法错误。事实上,浏览器似乎对这段代码非常满意——没有任何可怕的错误消息。我应该在前面提到这一点,但是发生的是单击我的提交按钮,浏览器会打开我已经在上面的页面的一个复制版本。好的,那么上面显示的PHP和表单代码在同一个文件中吗?正如我在下面对答案的评论中提到的,忽略表单元素上的操作默认情况下是将表单提交到当前加载的同一个文件中。如果PHP代码位于不同的文件中,则需要通过action属性指定该文件。如果所有内容都在同一个文件中,请在实际上下文中一起显示所有代码,而不是将其拆分。操作默认为同一个/当前文件。因此,这并没有本质上的问题,只要OP在问题中显示的PHP代码实际上与表单代码在同一个文件中,实际上没有动作就可以做一些事情。在大多数情况下,它实际上会提交到当前url。你的答案并不能回答问题。无论如何,action属性似乎已经做到了这一点。我对PHP的了解仍在进行中,因此我希望我的代码会有一些奇妙之处。谢谢你的帮助!
  <?php
 if(isset($_POST["name"]))
 {
   echo $_POST["name"];

}
else
{
    echo "no name provided";
}

if(isset($_POST["address"]))
{
     echo $_POST["address"];
}
else
{
     echo "no address provided";
}
?>