JavaScript表单处理后吐出的内容在页面上
JavaScript after Form Handling spit content on page
你好,我想做一个网站,你输入你的名字,它被吐在页面上。我想用JavaScript来实现。
HTML: <div id='errormsg'></div>
<form action='' method='post' onsubmit="formSubmit();">
<input id='name' type='text' placeholder='Slogan here...'>
<input id='submit' type='submit' value='Generate'>
</form>
<div id="nameContent"></div>
JS:
function formSubmit() {
var formName, formError, nameSentence;
formError = document.getElementById("errormsg");
formName = document.getElementById("name");
nameSentence = document.getElementById("nameContent");
if (formName == "") {
formError.innerHTML = "Put your name in!";
} else if (formName > 20) {
formName.innerHTML = "Max. 20 characters";
} else {
nameSentence.innerHTML = formName ;
}
}
第一个问题是它没有给我任何结果。我在学习JavaScript的过程中,所以请告诉我什么是错误的。div errormsg
和nameContent
在页面中。所以这不是问题所在。不需要jQuery,只需要JavaScript
我注意到一些变量是不需要的。
widget的值可以通过Id访问,因此删除了formName。
function formSubmit() {
var formError = document.getElementById("errormsg");
var nameContent = document.getElementById("nameContent");
var formSlogan = document.getElementById("name").value;
if (formSlogan == "") {
formError.innerHTML = "Put your name in!";
}
else if (formSlogan.length > 20) {
formError.innerHTML = "Max. 20 characters";
}
else {
formError.innerHTML = "";
nameContent.innerHTML = formSlogan;
return true;
}
return false;
}
<div id='errormsg'></div>
<form action='' method='post' onsubmit="formSubmit();">
<input id='name' type='text' placeholder='Slogan here...'>
<input id='submit' type='submit' value='Generate'>
</form>
<div id="nameContent"></div>
你的代码在基本层面上是错误的。您以错误的方式使用赋值(=
)操作符-您试图将变量分配给值,而不是值分配给变量。请反转作业:
function formSubmit() {
var formName, formError, nameSentence;
formError = document.getElementById("errormsg");
formName = document.getElementById("name");
nameSentence = document.getElementById("nameContent");
if(formName) {
if (formName.value === "") {
formError.innerHTML = "Put your name in!";
} else if (formName.value.length > 20) {
errormsg.innerHTML = "Max. 20 characters";
} else {
nameSentence.innerHTML = formName.value ;
}
}
}
对于HTML,如果你不想刷新页面,你不必使用表单标签,你可以使用onclick()
事件:
<input id="name" type="text" placeholder="Slogan here...">
<input id="submit" type="submit" value="Generate" onclick="formSubmit()">
<div id="nameContent"></div>
<div id="errormsg"></div>
请注意,formName本身是Node/DOM元素。为了检查它的值,你必须访问它的value
属性,它是文本输入字段的字符串对象。
JSBin here: http://jsbin.com/xubibigope/2/
This
formName = document.getElementById("name");
将获取输入元素。访问它的值如下所示:
if (formName.value == "") {
因此,formName
是一个对象,而if ( formName == "" ) ...
将在else
部分结束。因为formName
是一个html元素,所以nameSentence.innerHTML = formName ;
不会做任何事情。
<div id='errormsg'></div>
<form action='' method='post' onsubmit="formSubmit();return false;">
<input id='name' type='text' placeholder='Slogan here...'>
<input id='submit' type='submit' value='Generate'>
</form>
<div id="nameContent"></div>
function formSubmit() {
var formName, formError, nameSentence;
formError = document.getElementById("errormsg");
formName = document.getElementById("name");
nameSentence = document.getElementById("nameContent");
if (formName.value == "") {
formError.innerHTML = "Put your name in!";
} else if (formName.value.length > 20) {
formError.innerHTML = "Max. 20 characters";
} else {
nameSentence.innerHTML = formName.value;
}
return false;
}
正在修改这里的内容
相关文章:
- Javascript无法处理表单提交
- 用于处理表单的Handlerbars模板
- jQuery无法在InfoWindow中处理表单
- php会话不会;单击“提交”按钮时无法处理表单
- 使用 JS 和 JQuery 处理表单输入
- 使用 javascript 处理表单并在弹出窗口中使用它
- 使用 jQuery 处理表单
- 调用 Javascript 函数处理表单后,HTML 表单未打印到浏览器
- 处理表单时显示图像时出错
- 使用第二个按钮处理表单数据PHP_SELF将表单数据发布到另一个页面
- 使用 d3 而不是 jQuery 来处理表单输入会导致重新加载“/”
- 用Javascript处理表单提交事件,避免“;Form Processed”;
- jQuery屏蔽输入插件无法处理表单输入
- 在不重定向或使用过多JavaScript的情况下处理表单上的必需字段
- window.open无法处理表单
- Symfony 2:如何处理表单中的嵌套集合
- 处理表单时禁用“提交”按钮
- 提交并确认始终处理表单
- 用Javascript中的多个提交按钮处理表单提交
- 用javascript异步预处理表单数据