有人能给我解释一下这个HTML/Javascript部分吗
Can someone explain to me this HTML / Javascript section?
我按照教程进行了六次修订:http://sixrevisions.com/tutorials/web-development-tutorials/psdhtml-conversion-elegant-and-simple-css3-web-layout/
然而,我遇到了一个问题。我主要是从逆向工程的各种教程中学习html/javascript,但我已经了解了我几天来一直在尝试理解的部分代码。。这是我到目前为止得到的。
function clearText(field)
声明函数,给它一个名称"clearText",并声明它将是一个文本字段。
if (field.defaultValue == field.value) field.value = '';
如果文本字段的默认值等于"value"(可以稍后设置的字符串变量?)
全代码
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
有人能用一个16岁的孩子能理解的方式来分解一下吗?我确实了解if语句的结构,但我不清楚这里到底发生了什么。
字段是一个具有两个属性的对象:defaultValue和value。
如果其defaultValue等于其值,则将其值设置为"。
如果其值为",则将其defaultValue放入其值中。
从表面上看,field.value是html字段的实际值(它可以是密码、文本输入、select,但可能不确定最新的值)。我不确定defaultValue是HTML元素中的标准值,还是程序员预先填充的(用其他javascript代码)。
如果您有一个测试对象,可能会更容易地可视化正在发生的事情。
var testFieldOne = {defaultValue: 'test', value: ''}
var testFieldTwo = {defaultValue: 'test', value: 'test'}
// 'value' is an empty string, the function will change it to 'test'
clearText(testFieldOne);
console.log(testFieldOne.value); // Prints 'test'
// 'value' is the same as 'default', so it will be set to an empty string.
clearText(testFieldTwo);
console.log(testFieldTwo.value); // Prints ''
您可以在输入字段中显示默认文本,以指导用户该输入字段的用途。但您不想提交默认文本进行处理。所以你看,如果当前字段值与你的defolt文本相同。如果是这种情况,则清除输入字段,这样您的数据处理就知道没有输入。
在教程中,默认值设置为"搜索"。如果用户聚焦或模糊文本字段,此功能将清空默认值"搜索"中的文本字段,如果文本字段已为空,则会再次显示"搜索"。///顺便说一句,我是13:-)
当您有一个文本区域(或输入标记)时,Javascript自动执行的一件事就是获取其中的内容,并将其存储在一个名为value的变量中。所以,如果你有一个这样的文本区域:
<form name="form1">
<textarea name="textarea1">
This is a sentence inside of a textbox.
</textarea>
</form>
你可以在Javascript中获得它的值,如下所示:
document.form1.textarea1.value
将返回:
"This is a sentence inside of a textbox."
话虽如此,clearText函数接受字段作为值,所以如果我们这样调用它:
clearText(document.form1.textarea1)
这意味着,clearText内部的"field"变量现在等于document.form1.textarea1,可以作为一种简短的表达方式。这意味着,如果我们想找到文本区域内的内容,我们现在可以做:
field.value
它将再次返回:
"This is a sentence inside of a textbox."
因此,clearText首先使用if语句来检查文本区域的当前值(这是文本框中的一个句子)是否等于其默认值。如果是,则会使文本区域为空。如果是相反的方式,它会将文本区域设置为包含其默认文本。如果两者都不适用,什么都不会发生。本质上,它在文本框为空或默认之间来回切换。
顺便说一句,我不认为你在"逆向工程"任何教程。"逆向工程"将涉及从一个程序中取回代码,而你不应该从中取回代码。任何人都可以阅读Javascript。
- 来自文本输入null的html javascript变量
- Html/Javascript-如何屏蔽除英国以外的所有欧盟国家,并允许所有非欧盟国家
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- HTML/Javascript表单会自动重置
- html/javascript中的可拖动文本
- 在HTML/JavaScript中减去两个数字
- 基本的HTML Javascript程序.这是怎么回事
- 一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 在HTML/Javascript文件中获取App Inventor 2变量值
- HTML/JavaScript表格标题
- 如何修复在浏览器中打开后出现在屏幕上的html/Javascript代码
- 在HTML JavaScript头部分运行Google脚本函数
- 如何在 html/javaScript/Jquery 中“浏览文件夹”
- 带有消息html/javascript的进度条
- 在html/javascript中请求撤消/重做事件
- 使用HTML/Javascript表单使用ActiveXObject创建带有嵌入图像的outlook电子邮件
- 使用html/javascript启动小部件
- 移动html/javascript编程中的变量传递