当点击提交按钮时表单没有提交


Form not submitting when clicking submit button

我在我的网站上添加了一些Javascript验证表单。该站点连接到数据库很好,但是当您单击提交按钮时,没有采取任何操作。

这是位于页面页脚的表单:

<div id="add_restaurant" class="full-shadow">
    <h4>Add a Restaurant</h4>
    <form name="submitForm" action="<?php echo $pageName ?>" method="POST"> 
        <ul class="radio_list" id="category">
            <li>Category:</li>
            <li><label class="radiobtn"><input name="category" type="radio" value="healthy" id="is_healthy" checked="checked"/>Healthy</label></li>
            <li><label class="radiobtn"><input name="category" type="radio" value="unhealthy" id="is_unhealthy"/>Unhealthy</label></li>
        </ul>
        <br />
        <label>Name:</label>&nbsp;<input name="rest_name" id="rest_name" type="text" autocomplete="off"/>
        <input id="submit" type="submit" name="submit" value="Submit">
    </form>
    <p id="add_thanks"></p>
</div>

我想问题是我忽视了一些简单的东西。有人能帮忙吗?

编辑:我发现问题是在这里我的JS验证:

$('#submit').off('click').on('click', function(){
    if($('#rest_name').val() === ""){
        $('#add_thanks').html("Please type in a restaurant name.");
    }
    return false;
});

如果我禁用此代码,我的表单工作。是什么导致了这个JavaScript代码中的问题?

您没有打印$pageName:

<form name="submitForm" action="<?php echo $pageName ?>" method="POST">

你的JavaScript验证是取消每次点击,而不仅仅是当有一个错误。

$('#submit').off('click').on('click', function(){
    if($('#rest_name').val() === ""){
        $('#add_thanks').html("Please type in a restaurant name.");
        return false;  //<-- add this
    }
    //return false;  <-- remove this
});

两个位置,第一个是在表单的操作部分打印$pageName,第二个是在操作页面中定义$submit。

这是你写的

<form name="submitForm" action="<?php $pageName ?>" method="POST"> 

您需要打印$pageName变量。

<form name="submitForm" action="<?php print($pageName); ?>" method="POST"> 

这可能看起来很傻。但是试试这个:

删除所有脚本。然后在onclick事件上运行下面一行。

$("form").submit();

您的表单将不会被提交。

重命名按钮的id和name:

<input id="btnSubmit" type="submit" name="btnSubmit" value="Submit">

删除所有脚本。然后在onclick事件上运行下面一行。

$("form").submit();

您的表格将被提交。

"你不应该使用'submit'作为你的id和name"