You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于onclick事件的JS表单字段验证失效问题求助

嘿,我一眼就揪出问题所在啦!你点击按钮无响应的核心原因是:在onclick事件处理函数中,你仅仅定义了validatesiteone验证函数,但没有主动调用它。点击按钮时,浏览器只会执行函数定义的代码,根本不会触发验证或面板切换的逻辑~

修复后的代码

下面是修正后的完整代码,我还顺便优化了一些细节:

document.getElementById("addnewjob_sitetwo").onclick = function(){
    // 关键:调用我们定义的验证函数
    validatesiteone();

    function validatesiteone() {
        var jobTitleInput = document.forms["add-new-job"].jobtitle.value;
        // 用trim()处理用户只输入空格的情况,让验证更严谨
        if (!jobTitleInput.trim()) {
            alert("Name must be filled out");
            return false;
        } else {
            $('#newjobcontent-siteone').fadeOut(200);
            // 把内部函数改成匿名函数,简化代码结构
            setTimeout(function(){
                $('#newjobcontent-sitetwo').fadeIn(200);
                $('#newjobcontent-siteone').css("display", "none");
            }, 201);
        }
    }
};
额外的小建议
  • 除了自定义验证,你还可以给jobtitle输入框加上required属性,作为前端验证的兜底:
    <input class="form-control" placeholder="Jobtitel - z.B. Rasen mähen, Malerarbeiten, etc..." id="jobtitle" name="jobtitle" required>
    
  • 尽量避免在函数内部嵌套过多函数,这样代码可读性会更高,后续维护也更方便

内容的提问来源于stack exchange,提问作者Andrewstevens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:06:50