Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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 将函数值传递到innerhtml div中的输出_Javascript_Html - Fatal编程技术网

Javascript 将函数值传递到innerhtml div中的输出

Javascript 将函数值传递到innerhtml div中的输出,javascript,html,Javascript,Html,大家好,我正在尝试将验证函数的返回值传递给文档html部分的innerhtml。由于某种原因,它不起作用。。。。谢谢你的帮助 function validate(form) { fail = validateName(form.name.value) fail += validateEmail(form.email.value) fail += validateCity(form.city.value) if (fail == "") return true

大家好,我正在尝试将验证函数的返回值传递给文档html部分的innerhtml。由于某种原因,它不起作用。。。。谢谢你的帮助

function validate(form) {
    fail  = validateName(form.name.value)
    fail += validateEmail(form.email.value)
    fail += validateCity(form.city.value)
    if (fail == "") return true
    else { alert(return document.getElementById('#errors').innerHTML=fail;}); return false}
    }

    function validateName(field) {
        if (field == "") return "No name was entered.\n"
        else if (field.length < 3) return "Name must be at least 3 characters.\n"
        else if (!/[a-zA-Z ]*$/.test(field)) return "Name can only have alphabetical characters.\n"
        return ""
        }
    function validateEmail(field) {
        if (field == "") return "No email was entered.\n"
        else if (!((field.indexOf(".") > 0) && (field.indexOf("@") > 0)) || /[^a-zA-Z0-9.@_-]/.test(field)) return "The email address is invalid.\n"
        return ""
        }
    function validateCity(field) {
        if (field == "") return "No city was entered.\n"
        else if (field.length < 3) return "City must be at least 3 characters.\n"
        else if (!/[a-zA-Z ]*$/.test(field)) return "City can only have alphabetical characters.\n"
        return ""
        }



  <form action="<?php echo $editFormAction; ?>" name="subscribe" onSubmit="return validate(this)" id="subscribe" method="POST">
<div id="errors"></div>
<input name="name" autocomplete="off" required pattern="[a-zA-Z ]*$" title="Please enter only alphabetic characters" type="text" id="name" placeholder="Your name"/>


<input name="email" autocomplete="off" required id="email" type="email" title="Please enter your email address" placeholder="Your email address"/>

<input name="city" autocomplete="off" required pattern="[a-zA-Z ]*$" title="Please enter only alphabetic characters" id="city" placeholder="Your city"/>

<section id="buttons">
            <input type="reset" name="reset" id="resetbtn" class="resetbtn" value="Reset">

            <input type="submit" name="submit" id="submitbtn" class="submitbtn" tabindex="7" value="Submit this!">

            <br style="clear:both;">
        </section>
函数验证(表单){
fail=validateName(form.name.value)
fail+=validateEmail(form.email.value)
fail+=validateCity(form.city.value)
如果(fail==“”)返回true
else{alert(return document.getElementById('#errors').innerHTML=fail;});return false}
}
函数validateName(字段){
如果(字段==“”)返回“未输入名称。\n”
else if(field.length<3)返回“名称必须至少包含3个字符。\n”
否则如果(!/[a-zA-Z]*$/.test(field))返回“名称只能包含字母字符。\n”
返回“”
}
函数validateEmail(字段){
如果(字段==“”)返回“未输入电子邮件。\n”
否则如果(!((field.indexOf(“.”>0)和(field.indexOf(“@”)>0))| |/[^a-zA-Z0-9.@-]/.test(field))返回“电子邮件地址无效。\n”
返回“”
}
函数有效性(字段){
如果(字段==“”)返回“未输入任何城市。\n”
else if(field.length<3)返回“城市必须至少包含3个字符。\n”
否则如果(!/[a-zA-Z]*$/.test(field))返回“城市只能有字母字符。\n”
返回“”
}

使用错误代替#错误并从
警报
中删除
返回

if (fail == "") return true;
else { 
   //use innerText in place of innerHTML if #errors is not a div
   document.getElementById('errors').innerHTML=fail; use errors in place of #errors
   alert(fail);
   return false
}

对于道德编码,您可能需要避免在函数或方法的参数内返回函数值:

注意这一行:

else { alert(return document.getElementById('#errors').innerHTML=fail;}); 
返回
作为
警报()。。。。那似乎不好


这会导致
语法错误

你讨厌分号吗?@JonathandeM。你为什么这么说?
Ctr+A
然后
Ctr+c
你的HTML代码然后
Ctr+v
把它们放在这里,这样我们也可以看到你的HTML代码。刚刚添加了它。谢谢是的,它工作得很好。如何在fail语句之后放置换行符。非常感谢@Rohan KumarUse

代替
\n
或创建
失败
消息的
数组
,并使用

失败加入(“
”)那样加入
非常感谢@RohanKumar