没有表单的文本字段

时间:2011-06-26 11:32:11

标签: javascript jquery forms

我有一个网页,我想用用户输入文字做一些事情。通常,在<input type="text" />嵌套中使用<form>并且在html严格模式中不接受没有表单属性的设置输入。我想避免<form>,但仍希望使用一些文本字段与Javascript一起使用。

有人有解决方案吗?

如果有人为我提供了一个文本输入选项,并且点击按钮提醒输入数据,有/无jQuery,将会更有帮助。

提前致谢..

3 个答案:

答案 0 :(得分:5)

使用W3C's validator,这会传递HTML 4.01 Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
</head>
<body>
<p><input type="text" value="hi"></p>
</body>
</html>

,这传递了XHTML 1.0 Strict:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
<p><input type="text" value="hi" /></p>
</body>
</html>

问题是<input>是一个内联标记,因此需要在接受此类标记的内容中(<body>没有)。

答案 1 :(得分:2)

仔细查看DTDinput元素是inline(让我们称之为)小组的一部分:

<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">

<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

因此,只要inline被允许,input也是如此。这意味着您不需要form

E.g。在div

<!ENTITY % flow "%block; | %inline;">
(...)
<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->

但正如您在body中的评论中所提到的

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->

(我认为不用说block不包含inline)。

答案 2 :(得分:0)

没有表单的输入元素是完全可以的。它在哪里说不允许?