在这里让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  
<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
我越看越是困惑。看起来我在创建变量时没有犯任何明显的错误,所以我很好奇可能导致这些问题的原因。
答案 0 :(得分:1)
您的表单没有action
属性。因此,在您提交时它不会做任何事情。您需要添加一个命中该PHP端点的action
属性。
或者,在表单中添加一个onclick
侦听器,并从此结束执行您希望它在提交时所做的任何工作。
无论哪种方式,提交表单时当前都没有将其设置为“可做”的任何内容,这就是为什么它无法正常工作的原因!
编辑:正如一些人在评论中指出的那样,HTML 5中的action
属性is not required就是这样。事实上,此代码无法正常工作使我相信您应该调查这可能的原因