单击“提交”按钮时表单不提交

时间:2014-06-30 18:44:32

标签: javascript php jquery forms

我在网站上的表单中添加了一些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代码出现问题的原因是什么?

5 个答案:

答案 0 :(得分:2)

您没有打印$ pageName:

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

答案 1 :(得分:1)

您的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
});

答案 2 :(得分:0)

两个地方,第一个是在表单的action部分打印$ pageName,第二个是在action页面中定义$ submit。

答案 3 :(得分:0)

这就是你写的

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

您需要打印$pageName变量。

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

答案 4 :(得分:0)

看起来很傻。但试试这个:

删除所有脚本。只需在onclick事件中运行以下行。

$("form").submit();

您的表单将不会提交。

重命名按钮的“id”和“name”:

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

删除所有脚本。只需在onclick事件中运行以下行。

$("form").submit();

您的表格将会提交。

“你不应该使用'submit'作为你的id和名字”

相关问题