首页技术input标签是单标签吗(coip中input的作用)

input标签是单标签吗(coip中input的作用)

编程之家2026-06-251139次浏览

大家好,今天小编来为大家解答input标签是单标签吗这个问题,coip中input的作用很多人还不知道,现在让我们一起来看看吧!

input标签是单标签吗(coip中input的作用)

input标签的六大属性分别是什么

属性值

描述

button定义可点击按钮(多数情况下,用于通过 JavaScript启动脚本)。

checkbox定义复选框。

file定义输入字段和"浏览"按钮,供文件上传。

hidden定义隐藏的输入字段。

input标签是单标签吗(coip中input的作用)

image定义图像形式的提交按钮。

password定义密码字段。该字段中的字符被掩码。

radio定义单选按钮。

reset定义重置按钮。重置按钮会清除表单中的所有数据。

submit定义提交按钮。提交按钮会把表单数据发送到服务器。

text定义单行的输入字段,用户可在其中输入文本。默认宽度为 20个字符。

input标签是单标签吗(coip中input的作用)

input标签杂用

input标签

<input type="---" name="---"..../>是个单标签,没有结束标签,它必须嵌套在表单标

签中使用,用于定义一个用户输入项。

<input>标签主要有六个属性:type、name、size、value、maxlength和checked,其中

name和type是两个必选属性。

name属性的参数值是相应处理程序中的变量名,Web服务器将把这条输入信息的值赋

予name属性规定的变量。type属性用于指定该输入项提供的输入方式即指出浏览者输入的

值是什么类型的。

在不同的输入方式下,<input>标签的格式略有不同,其他五种属性因type的类型不

同,含义也不同。

type属性主要有九种类型:text、password、radio、checkbox submit、reset、image、

hidden和file。

<1>.text的用法

表示该输入项的输入信息是字符串。此时,浏览器会在相应的位置显示一个文本框供用户

输入信息。此文本框是一个只能输入一行文字的输入框。当type=text时,<input>标签除

了有2个不可缺省的属性name和type外,还有3个可选的属性:value、size和maxlength。

1.size属性:用于指定文本框的长度,默认值为20,以字节为单位。

2.value属性:设定预先出现在文本框中的内容。

3.maxlength属性:表示该文本框允许用户输入的最大字符数。此值总是大于或等于

size属性的参数值。当输入的字符数超过文本框的长度时,用户可以通过移动光标来查看超

过部分的内容。

看下面的例子:

在文本文件写下面的内容,保存为.html格式,用ie浏览器打开:

<form id="form1" name="form1" method="post" action="">

姓名<input type="text" name="textfield"/>

<input type="submit" name="Submit" value="提交"/>

<input type="reset" name="Submit2" value="重置"/>

</form>

<2>.提交按钮submit与重置按钮reset

当type=submit时,浏览器会在相应的位置产生一个提交按钮。当用户单击该按钮时,浏览器就会将表单的输入信息传送给服务器。提交按钮的name属性是可以缺省的。除name属性外,它还有一个可选的属性value,用于指定显示在提交按钮上的文字。value属性的缺省值是“提交查询内容”。在一个表单中必须有提交按钮,不然将无法向服务器传送信息。

当type=reset时,浏览器会在相应位置产生一个重置按钮。当用户单击该按钮时,浏览器就会清除表单中所有的输入信息而恢复到初始状态。重置按钮的name属性也是可以缺省的。除name属性外,它也有一个可选的属性value,用于指定显示在清除按钮上的文字。value属性的缺省值是“重置”。

一般来说,提交与重置按钮应同时出现。

<3>.password类型与text类型使用起来很相似,不同之外只是当浏览者输入内容时,不显示所输入的内容,而是用星号“*”来代替每个密码字符,以保证密码的安全。我们在申请一张个人空间信息表时会遇到过这种情况.

如何限制inputtoken只能输入得到一个标签

CU上曾经有几个帖子讨论到一个实际问题,就是如何限制同一时刻只允许一个脚本实例运行。其中本版新老斑竹和其它网友都参加了讨论,但以faintblue兄的帖子对大家启发最大,下面的背景介绍中许多内容都是来自于他。在此感谢faintblue兄,也感谢斑竹和其它朋友!

woodie总结了一下现有的结果,大体上可以分为两种思路:

一、简单的方法是,用ps一类命令找出已经运行脚本的数量,如果大于等于2(别忘了把自己也算进去^_^),就退出当前脚本,等于1,则运行。这种方法简单是简单,不过有一些问题:

首先,ps取得脚本文件进程数量就有很多陷阱,例如有时无法ps到脚本文件的名称;

即使可以ps到脚本名,如果用到管道的话,由于子shell的原因,在大多数平台下会得到奇怪的结果,有时得到数字a,有时又得到数字b,让人无所适从;

就算计数的问题已经解决了,还有问题,不过不太严重:如果两个脚本实例同时计数,显然数字都应该等于2,于是两个都退出了。于是在这一时间点上没有一个脚本在执行;

二、加锁的方法。就是脚本在执行开始先试图得到一个“锁”,得到则继续执行,反之就退出。

加锁方法也存在一些问题,主要集中在两个方面:

其一,加锁时如何避免竞态条件(race condition)。即如何找到一些“原子”操作,使得加锁的动作一步完成,中间不能被打断。否则就可能出现下面的情况:

脚本1检测到没有锁被占用;

然后脚本2也检测到没有锁被占用;

脚本1加锁,开始执行;

然后脚本2(错误地)加锁,也开始执行;

看到吗,两个脚本在同时执行。:(

可能的一些加锁的“原子”操作有:

1.创建目录,当一个进程创建成功后其它进程都会失败;

2.符号链接:ln-s,一个链接创建后其它进程的ln-s命令会出错;

3.文件首行的竞争,多个进程以append的方式同时写到文件,只有惟一一个进程写到了文件的第一行,因为不可能有两个第一行。^_^

4.其它软件包的加锁工具,通常是c语言二进制程序,自己写的也行。

目前加锁时的问题已经可以解决。

其二,找到一种方法避免出现“死锁”的情况,这里是指:虽然“锁”被占用,但却没有脚本在执行。这通常在脚本意外退出,来不及释放占用的“锁”之后。如收到一些系统信号后退出,机器意外掉电后退出等。

对于前者的情况,可以用trap捕获一些信号,在退出前释放锁;但有些信号是无法捕获的。

对于后者,可以在机器重起后用脚本自动删除锁来解决。不过有点麻烦。

所以比较理想的是脚本自己来检测死锁,然后释放它。不过问题的难点在于如何找到一种“原子”操作,将检测死锁和删除死锁的动作一步完成,否则又会出现与加锁时同样的竞态条件的问题。例如:

进程1检测到死锁;

进程2监测到死锁;

进程1删除死锁;

进程x(也可能是进程1自己)加锁,开始运行;

进程2(错误地)删除死锁;

此时锁没有占用,于是任意进程都可以加锁并投入运行。

这样又出现了两个进程同时运行的情况。:(

可惜的是:在迄今为止的讨论之后,woodie还没有找到一种合适的“原子”操作。:(只是找到了一种稍微好些的办法:就是在删除时用文件的inode作标识,于是其它进程新建的锁(文件名虽然相同,但inode相同的机率比较微小)不容易被意外删除。这个方法已经接近完美了,可惜还是存在误删的微小几率,不能说是100%安全。唉,山重水复疑无路啊!:(

最近又有网友问起这个问题,促使我又再次思考。从我以前的一个想法发展了一下,换了一种思路,便有豁然开朗的感觉。不敢藏私,写出来请大家debug。^_^

基本的想法就是:借鉴多进程编程中临界区的概念,如果各个进程进入我们设立的临界区,只可能一个一个地顺序进入,不就能保证每次只有一个脚本运行了吗?怎样建立这样一种临界区呢?我想到了一种方法,就是用管道,多个进程写到同一个管道,只可能一行一行地进入,相应的,另一端也是一行一行地读出,如此就可以实现并行执行的多个进程进入临界区时的“串行化”。这与faintblue兄以前贴出的append文件的方法也是异曲同工。

我们可以让并行的进程同时向一个管道写一行请求,内容是其进程号,在管道另一端顺序读取这些请求,但只有第一个请求会得到一个“令牌”,被允许开始运行;后续的请求将被忽略,对应的进程没有得到令牌,就自己退出。这样就保证了任意时间只有一个进程运行(严格地说是进入临界区)。说到“令牌”,熟悉网络发展史的朋友可能会联想到IBM的Token Ring架构,每一时刻只能有一个主机得到令牌并发送数据,没有以太网的“碰撞”问题。可惜如同微通道技术一样,IBM的技术是不错,但最终还是被淘汰了。不错,这里令牌的概念就是借用于Token Ring。^_^

当一个进程执行完毕,向管道发送一个终止信号,即交回“令牌”,另一端接受到后,又开始选取下一个进程发放“令牌”。

您可能会问了,那么死锁问题又如何解决呢?别急,我在以前的讨论中曾提出将检测处理死锁的代码单独拿出来,交给一个专门的进程来处理的想法,这里就具体实践这样一种思路。当检测和删除死锁的任务由一个专门的进程来执行时,就没有多个并发进程对同一个锁进行操作,所以竞态条件发生的物质基础也就根本不存在了。^_^

再发展一下这个思路,允许同时执行多个进程如何?当然可以!只要设立一个计数器,达到限制的数字就停止发放“令牌”即可。

下面就是woodie上述思路的一个实现,只是在centos 4.2下简单地测试了一下,可能还有不少错误,请大家帮忙“除虫”。^_^思路上有什么问题也请不吝指教:

脚本1,token.sh,负责令牌管理和死锁检测处理。与下一个脚本一样,为了保持脚本的最大的兼容性,尽量使用Bourne shell的语法,并用printf代替了echo,sed的用法也尽量保持通用性。这里是由一个命名管道接受请求,令牌在一个文件中发出。如果用ksh也许可以用协进程来实现,熟悉ksh的朋友可以试一试。^_^

#!/bin/sh

#name: token.sh

#function: serialized token distribution, at anytime, only a cerntern number of token given out

#usage: token.sh [number]&

#number is set to allow number of scripts to run at same time

#if no number is given, default value is 1

if [-p/tmp/p-aquire ]; then

rm-f/tmp/p-aquire

fi

if mkfifo/tmp/p-aquire; then

printf"pipe file/tmp/p-aquire created\n">>token.log

else

printf"cannot create pipe file/tmp/p-aquire\n">>token.log

exit 1

fi

loop_times_before_check=100

if [-n"$1" ];then

limit=$1

else

# default concurrence is 1

limit=1

fi

number_of_running=0

counter=0

while:;do

#check stale token, which owner is died unexpected

if ["$counter"-eq"$loop_times_before_check" ]; then

counter=0

for pid in `cat token_file`;do

pgrep$pid

if [$?-ne 0 ]; then

#remove lock

printf"s/$pid//\nwq\n"|ed-s token_file

number_of_running=`expr$number_of_running- 1`

fi

done

fi

counter=`expr$counter+ 1`

#

if ["$number_of_running"-ge"$limit" ];then

# token is all given out. bypass all request until a instance to give one back

pid=`sed-n'/stop/{s/\([0-9]\+\)\+stop/\1/p;q}'/tmp/p-aquire`

if [-n"$pid" ]; then

# get a token returned

printf"s/$pid//\nwq\n"|ed-s token_file

number_of_running=`expr$number_of_running- 1`

continue

fi

else

# there is still some token to give out. serve another request

read pid action</tmp/p-aquire

if ["$action"= stop ]; then

# one token is given back.

printf"s/$pid//\nwq\n"|ed-s token_file

number_of_running=`expr$number_of_running- 1`

else

# it's a request, give off a token to instance identified by$pid

printf"$pid">> token_file

number_of_running=`expr$number_of_running+ 1`

fi

fi

done

--------------------------------------------------------------------------------------------

修订记录:

1.修正token.sh的一个BUG,将原来用sed删除失效令牌的命令用ed命令代替。感谢r2007和waker两位指出错误!

--------------------------------------------------------------------------------------------

脚本2:并发执行的脚本-- my-script。在"your code goes here"一行后插入你自己的代码,现有的是我用来测试的。

#!/bin/sh

# second to wait that the ditributer gives off a token

a_while=1

if [!-p/tmp/p-aquire ]; then

printf"cannot find file/tmp/p-aquire\n">&2

exit 1

fi

# try to aquire a token

printf"$$\n">>/tmp/p-aquire

sleep$a_while

# see if we get one

grep"$$" token_file

if [$?-ne 0 ]; then

# bad luck.:(

printf"no token free now, exitting...\n">&2

exit 2

fi

# yeah, got token!

# be sure to return the token before we exit

trap'printf"$$ stop\n">/tmp/p-aquire' 0

trap"exit 3" 1 2 3 15

#get to run, your code goes here

printf"$$: running...\n">&2

sleep 5

printf"$$: exitting...\n">&2

#end of your code

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦

关于input标签是单标签吗,coip中input的作用的介绍到此结束,希望对大家有所帮助。

金铲铲之战巨龙之巢阵容(金铲铲之战最强阵容龙)sql 约束条件?sql约束条件大于0