如何动态改变表单对象

easyfly 2003-11-22 04:26:52
请问那位大虾能控制表单对象???
就是原来是TEXT有没有办法变成textarea
...全文
26 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
supere 2003-11-23
  • 打赏
  • 举报
回复
<INPUT TYPE="submit" onclick='change()' value=change>
<INPUT TYPE="text" NAME="txt1" value='123'>
<SCRIPT LANGUAGE="JavaScript">
<!--
function change()
{
var v=document.all.txt1.value;
if (document.all.txt1.tagName == "INPUT")
document.all.txt1.outerHTML = "<TEXTAREA NAME='txt1' ROWS='5' COLS=5>"+v+"</TEXTAREA>";
else
document.all.txt1.outerHTML = "<INPUT TYPE='text' NAME='txt1' value='123'>"
}
//-->
</SCRIPT>
easyfly 2003-11-23
  • 打赏
  • 举报
回复
当然控制的话,就是要变又要变回来。hillhero789(丘)的方法怎么变回来?
不知道有没有其他的办法???
easyfly 2003-11-23
  • 打赏
  • 举报
回复
谢谢大家,问题结了。请问一下怎么样才能最快熟悉JS那些对象与方法?
hillhero789 2003-11-23
  • 打赏
  • 举报
回复
较为简单的方法是在change函数上加个参数
change(type)//type可以是"input"(当然了,type="text") 或者是"textarea"
其他的就自己改改吧
hillhero789 2003-11-23
  • 打赏
  • 举报
回复
变回来还不是一样的吗?
riffleliu 2003-11-22
  • 打赏
  • 举报
回复
嗯,樓上幾個都有道理, mandolin(伤心曼陀铃) 的辦法比羅簡單
阿米果 2003-11-22
  • 打赏
  • 举报
回复
<form name="form1" method="post" action="">
<textarea name="textarea"></textarea>
<script language="JavaScript" type="text/JavaScript">

document.all.textarea.outerHTML='<input type="text" name="textfield">';
</script>
<input type="text" name="textfield">
</form>

比较暴力的方法
紫郢剑侠 2003-11-22
  • 打赏
  • 举报
回复
强!学习...
hillhero789 2003-11-22
  • 打赏
  • 举报
回复
可以的
只要先删除node(removeChild)
再插入一个node就行了(insertBefor)
具体方法:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script>
function change()
{
var formObj=document.form1;
var txtObj=document.all.txtID;
var newNode=document.createElement("textarea");
formObj.insertBefore(newNode,txtObj);
newNode.name=txtObj.name
formObj.removeChild(txtObj);
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
<input type="button" name="Submit" value="按钮">
<input type="text" name="textfield" id="txtID">
<input type="button" name="Submit2" value="按钮" onClick="change();this.disabled=true;">
</form>
</body>
</html>
hrong 2003-11-22
  • 打赏
  • 举报
回复
呵呵, 没法变, 不过你可以先删掉老的removeNode() 然后再插入新的 createElement

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧