form.submit()无法正常工作

时间:2018-07-10 21:16:31

标签: javascript php html

在这里让form.submit()正常工作有点麻烦。我是第一次使用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>

我现在只输入两个输入元素的名称,因为我只是想弄清楚这里出了什么问题。

在这里为要提交的表单创建一个变量

var customerInfo = document.getElementById("customer-info");

我在此项目中使用了一些JQuery,所以我将所有内容打包在$(document).ready();

让事情变得奇怪的地方是我的console.log()实际上正常输出“提交”,因此该代码肯定正在执行。这使我觉得我的问题不是那么明显(至少对我来说不是!)

    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

我越看越是困惑。看起来我在创建变量时没有犯任何明显的错误,所以我很好奇可能导致这些问题的原因。

1 个答案:

答案 0 :(得分:1)

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

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

无论哪种方式,提交表单时当前都没有将其设置为“可做”的任何内容,这就是为什么它无法正常工作的原因!

编辑:正如一些人在评论中指出的那样,HTML 5中的action属性is not required就是这样。事实上,此代码无法正常工作使我相信您应该调查这可能的原因