如何在Javascript中从文本框中获取文本
更新如何在Javascript中从文本框中获取文本,javascript,html,xml,Javascript,Html,Xml,更新 好的,在尝试了“.value”之后,上帝又知道x的时间量,它是如何工作的。。。。。问题解决了。非常感谢您的回复。 更新 如何使用Javascript从HTML页面的表单中获取文本(字符串) 我只想将输入到文本框中的内容写入我的XML文件。 例如,如果在文本框中键入“HELLO”,则希望在XML文件中写入“HELLO” 我试过“.value”和“.text”,它们都不起作用。也试过“.textcontent”,也没用。我想我需要使用不同的代码 以下是我正在尝试做的事情的图像: 如果您想亲自
好的,在尝试了“.value”之后,上帝又知道x的时间量,它是如何工作的。。。。。问题解决了。非常感谢您的回复。
更新 如何使用Javascript从HTML页面的表单中获取文本(字符串) 我只想将输入到文本框中的内容写入我的XML文件。
例如,如果在文本框中键入“HELLO”,则希望在XML文件中写入“HELLO” 我试过“.value”和“.text”,它们都不起作用。也试过“.textcontent”,也没用。我想我需要使用不同的代码 以下是我正在尝试做的事情的图像:
如果您想亲自处理这些文件,请参阅以下文件:
这是我的HTML文件:
<html>
<!--onSubmit="SaveXML(person);"-->
<head>
<title>Registration</title>
<link rel="stylesheet" type="text/css" href="CSS_LABs.css" />
</head>
<body>
<script type="text/javaScript" src="LoginJS.js"> </script>
<script type="text/javaScript" src="writeXML.js"> </script>
<div class="form">
<form id="Registration" name="reg" action="" method="get" onSubmit="initialize_array()">
Username:<input type="text" name="Usrname" id="Usrname" maxlength="10"/> <br/>
Password:<input type="password" name="Pswd" id="Pswd" maxlength="20"/> <br/>
<hr>
PersonID:<input type="text" name="PersonID" id="PersonID"/> <br>
<hr>
First Name:<input type="text" name="FirstName" id="FirstName"/> <br>
Last Name:<input type="text" name="LastName" id="LastName"/>
<hr>
DOB:<input type="text" name="DOB" id="DOB"/> <br>
<hr>
Gender:<input type="text" name="Gender" id="Gender"/> <br>
<hr>
Title:<input type="text" name="Title" id="Title"/> <br>
<hr>
<!--Secret Question:<br>
<select name="secret?">
</select> <br>
Answer:<input type="text" name="answer" /> <br> <br>-->
<input type="submit" value="submit" />
</form>
</div>
</body>
</html>
登记处
用户名:
密码:
PersonID:
名字:
姓氏:
出生日期:
性别:
标题:
这是我的Javascript文件:
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var FILENAME = 'G:\\CST2309 - Web Programming 1\\Copy of Take Home Exam - Copy\\PersonXML2.xml';
function SaveXML(UserData)
{
var usrn = document.getElementById("Username").text;
var pswd = document.getElementById("Pswd").text;
var pid = document.getElementById("PersonID").text;
var fname = document.getElementById("FirstName").text; //This is where I'm having trouble with
var lname = document.getElementById("LastName").text;
var gender = document.getElementById("Gender").text;
var dob = document.getElementById("DOB").text;
var title = document.getElementById("Title").text;
var file = fso.CreateTextFile(FILENAME, true);
file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n');
file.WriteLine('<PersonInfo>\n');
for (countr = 0; countr < UserData.length; countr++) {
file.Write(' <Person ');
file.Write('Usrname="' + UserData[countr][0] + '" ');
file.Write('Pswd="' + UserData[countr][1] + '" ');
file.Write('PersonID="' + UserData[countr][2] + '" ');
file.Write('FirstName="' + UserData[countr][3] + '" ');
file.Write('LastName="' + UserData[countr][4] + '" ');
file.Write('Gender="' + UserData[countr][5] + '" ');
file.Write('DOB="' + UserData[countr][6] + '" ');
file.Write('Title="' + UserData[countr][7] + '"');
file.WriteLine('></Person>\n');
} // end for countr
file.Write(' <Person ');
file.Write('Usrname="' + usrn + '" ');
file.Write('Pswd="' + pswd + '" ');
file.Write('PersonID="' + pid + '" ');
file.Write('FirstName="' + fname + '" ');
file.Write('LastName="' + lname + '" ');
file.Write('Gender="' + gender + '" ');
file.Write('DOB="' + dob + '" ');
file.Write('Title="' + title + '" ');
file.WriteLine('></Person>\n');
file.WriteLine('</PersonInfo>\n');
file.Close();
} // end SaveXML function --------------------
function LoadXML(xmlFile)
{
xmlDoc.load(xmlFile);
return xmlDoc.documentElement;
} //end function LoadXML()
function initialize_array()
{
var person = new Array();
var noFile = true;
var xmlObj;
if (fso.FileExists(FILENAME))
{
xmlObj = LoadXML(FILENAME);
noFile = false;
} // if
else
{
xmlObj = LoadXML("PersonXML.xml");
//alert("local" + xmlObj);
} // end if
var usrCount = 0;
while (usrCount < xmlObj.childNodes.length)
{
var tmpUsrs = new Array(xmlObj.childNodes(usrCount).getAttribute("Usrname"),
xmlObj.childNodes(usrCount).getAttribute("Pswd"),
xmlObj.childNodes(usrCount).getAttribute("PersonID"),
xmlObj.childNodes(usrCount).getAttribute("FirstName"),
xmlObj.childNodes(usrCount).getAttribute("LastName"),
xmlObj.childNodes(usrCount).getAttribute("Gender"),
xmlObj.childNodes(usrCount).getAttribute("DOB"),
xmlObj.childNodes(usrCount).getAttribute("Title"));
person.push(tmpUsrs);
usrCount++;
} //end while
if (noFile == false)
fso.DeleteFile(FILENAME);
SaveXML(person);
} // end function initialize_array()
var xmlDoc=newActiveXObject(“Microsoft.XMLDOM”);
var fso=新的ActiveXObject(“Scripting.FileSystemObject”);
var FILENAME='G:\\CST2309-Web编程1\\Take-Home考试副本-Copy\\PersonXML2.xml';
函数SaveXML(UserData)
{
var usrn=document.getElementById(“用户名”).text;
var pswd=document.getElementById(“pswd”).text;
var pid=document.getElementById(“PersonID”).text;
var fname=document.getElementById(“FirstName”).text;//这就是我遇到问题的地方
var lname=document.getElementById(“LastName”).text;
var-gender=document.getElementById(“性别”).text;
var dob=document.getElementById(“dob”).text;
var title=document.getElementById(“title”).text;
var file=fso.CreateTextFile(文件名,true);
file.WriteLine('\n');
file.WriteLine('\n');
对于(countr=0;countr
您可以使用document.getElementById(“UsrName”).value
获取表单中字段的值。由于每个字段都使用id,所以使用此代码没有问题
相关内容:您可以使用
document.getElementById(“UsrName”).value
获取表单中字段的值。由于每个字段都使用id,所以使用此代码没有问题
这是一个it工作的例子。我改变了一些功能,只是为了表明该函数正确地看到了值:
但正如大家所说,将
.text
更改为.value
以下是它工作的一个例子。我改变了一些功能,只是为了表明该函数正确地看到了值:
但是就像大家说的那样,将
.text
更改为.value
你知道这只适用于IE吗?你知道你正在为循环创建一个全局变量countr
?顺便说一句,你得到了null
,因为你要求document.getElementById(“用户名”)
,而id
实际上读取的是Usrname
。另外,您应该真正使用.value
,而不是.text
。你应该使用[]
而不是new Array()
。没关系,这不是为了现实世界,只是我正在做的事情。嗯,我尝试了不同的东西,因为。价值不起作用。阵列没有任何问题。不管怎样,你能给我看一个代码的例子吗?是的,你对“.text”的每一个引用都应该是“.value”。我只是把它保留为.text,因为我在发布时懒得更改它。但是是的,.value和.text确实有效。两者似乎都无法从文本框中获取字符串。无论如何,例如,如果我在文本框中输入“hello”,XML文件中就不会出现“hello”。只有“[对象]”出现。你知道这只在IE中有效吗?您知道您正在该f的开头创建一个全局变量countr