Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击时禁用按钮,但仍处理表单_Javascript_Php_Jquery_Html_Forms - Fatal编程技术网

Javascript 单击时禁用按钮,但仍处理表单

Javascript 单击时禁用按钮,但仍处理表单,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我想在单击时禁用我的注册按钮以防止垃圾邮件,但我不想阻止按钮提交的表单提交 我可以在单击时禁用按钮,但不明白为什么表单仍然无法提交 按钮: <?= form_open("course/registerCourse", "method='post'") ?> <input type="hidden" name="session" value="<?= $session["id"] ?>"> <button type="submit" class

我想在单击时禁用我的注册按钮以防止垃圾邮件,但我不想阻止按钮提交的表单提交

我可以在单击时禁用按钮,但不明白为什么表单仍然无法提交

按钮:

<?= form_open("course/registerCourse", "method='post'") ?>
   <input type="hidden" name="session" value="<?= $session["id"] ?>">
   <button type="submit" class="btn-sm btn btn-success register">REGISTER</button>
<?= form_close() ?>
注册功能:

public function registerCourse()
{

    $user = $this->users_model->userAccountTP();
    $appParticipant = $user[0]["id"];

    $author_id = $this->session->userdata("ci_user_id");
    $appSession = $this->input->post('session');

    $this->ci_channel_entry_model->save_multiple(array(
        "channel_id" => 11,
        "title" => date("Y-m-d h:i:s"),
        "author_id" => $author_id,
        "status_id" => 7,
        "date" => date("Y-m-d h:i:s"),
        "data" => array(
            array(
                // application-session
                "field_id" => 28,
                "content" => $appSession
            ),
            array(
                // application-participant
                "field_id" => 29,
                "content" => $appParticipant
            )
        ),
        "hook" => FALSE
    ));

    redirect($this->agent->referrer());
}

我想您可能有输入错误,因为我看不到您在哪里声明
$form
,所以这可能有帮助:

$('.register').on('click',function() {
    $(this).prop("disabled",true);
    $("form").submit();
});

最后我修改了我的表格以符合这个答案,一切都正常了:


您是否尝试过放入$(“表单”).submit();在将禁用属性添加到按钮之前?这有什么意义?你的表格不需要填写。垃圾邮件发送者只需直接将您的字段=值对提交到服务器,而无需加载您的表单。尝试过,但仍然没有成功working@MarcB如果用户在表单提交时多次按下“注册”按钮,则会向服务器发送多个注册请求。禁用该按钮将允许表单仅提交一个请求。您能否准确显示您的表单代码?谢谢-我进行了修复,但仍有问题。
$('.register').on('click',function() {
    $(this).prop("disabled",true);
    $("form").submit();
});