如何使用javascript从表单中获取信息?
我有一个表单,用户可以输入一些数据,可以是复选框、单选按钮、文本字段等 当用户单击submit按钮时,我想用输入的任何数据刷新页面如何使用javascript从表单中获取信息?,javascript,html,Javascript,Html,我有一个表单,用户可以输入一些数据,可以是复选框、单选按钮、文本字段等 当用户单击submit按钮时,我想用输入的任何数据刷新页面 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> </head> <body
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
</head>
<body id="ref">
<form>
Please enter your name:<input type="text" id="name" />
Please enter your age:<input type="text" id="age" />
</form>
<input type="button" onclick="c()" value="submit">
<script type="text/javascript">
function c()
{
var o = document.getElementById('ref');
o.innerHTML = '';
var n = document.createElement('p');
var nam = document.getElementById('name');
n.innerHTML = "Your name is: " + nam;
o.appendChild(n);
var a = document.createElement('p');
var ag = document.getElementById('age');
a.innerHTML = "Your age is: " + ag;
o.appendChild(a);
//how do i get the info from the form? because both nam and ag are coming up null
}
</script>
</body>
</html>
请输入您的姓名:
请输入您的年龄:
函数c()
{
var o=document.getElementById('ref');
o、 innerHTML='';
var n=document.createElement('p');
var nam=document.getElementById('name');
n、 innerHTML=“您的名字是:”+nam;
o、 儿童(n);
var a=document.createElement('p');
var ag=document.getElementById('age');
a、 innerHTML=“您的年龄是:”+ag;
o、 儿童(a);
//我如何从表格中获取信息?因为nam和ag都是空的
}
我猜这不起作用是因为页面刷新后会尝试按id获取元素,而id不再存在。。做这件事的正确方法是什么???我很确定这不仅仅是javascript可以做到的。您需要使用像php这样的服务器端语言。尝试用谷歌搜索php表单,你会得到一些好结果 我敢肯定,单凭javascript是不可行的。您需要使用像php这样的服务器端语言。尝试用谷歌搜索php表单,你会得到一些好结果 您将对象与其属性混淆。在这里,您将获得“年龄”字段的
HTMLInputElement
实例:
但在这里,您使用该对象时,就好像它是一个简单的值:
a.innerHTML = "Your age is: " + ag;
HTMLInputElement
对象有一个值
字段,可用于:
a.innerHTML = "Your age is: " + ag.value;
另外,这样做会完全破坏页面:
var o = document.getElementById('ref');
o.innerHTML = '';
…因为您已将ID“ref”指定给主体
元素。完全替换body
元素完全替换body
元素,因此不能依赖仅作为该元素的从属元素存在的对象
通常的做法是填充一个元素,然后(可选地)删除不再需要的元素。例如():
HTML:
在那里,当按下按钮时,我移除表单并填写“result”div
如果需要(),可以动态添加“result”div:
HTML:
如果将id
值改为name
值(),则可以使用更简洁、更自然的语法访问字段:
HTML:
进一步阅读:
- (大多数现代浏览器都支持)
- (越来越多的人支持)
- 您将对象与其属性混淆。在这里,您将获得“年龄”字段的
HTMLInputElement
实例:
但在这里,您使用该对象时,就好像它是一个简单的值:
a.innerHTML = "Your age is: " + ag;
HTMLInputElement
对象有一个值
字段,可用于:
a.innerHTML = "Your age is: " + ag.value;
另外,这样做会完全破坏页面:
var o = document.getElementById('ref');
o.innerHTML = '';
…因为您已将ID“ref”指定给主体
元素。完全替换body
元素完全替换body
元素,因此不能依赖仅作为该元素的从属元素存在的对象
通常的做法是填充一个元素,然后(可选地)删除不再需要的元素。例如():
HTML:
在那里,当按下按钮时,我移除表单并填写“result”div
如果需要(),可以动态添加“result”div:
HTML:
如果将id
值改为name
值(),则可以使用更简洁、更自然的语法访问字段:
HTML:
进一步阅读:
- (大多数现代浏览器都支持)
- (越来越多的人支持)
var a = document.createElement('p').value;
var ag = document.getElementById('age').value;
通常使用服务器端代码处理表单信息,这是通过指定表单的操作属性来完成的:
<form action="processuserinfo.aspx">
...
</form>
...
如果只想使用java脚本更新html,可以使用输入的“.value”属性
var a = document.createElement('p').value;
var ag = document.getElementById('age').value;
通常使用服务器端代码处理表单信息,这是通过指定表单的操作属性来完成的:
<form action="processuserinfo.aspx">
...
</form>
...
我之所以使用此选项,是因为我尝试了jsp,但我的公司serlvets等导致参数在加载新页面时“消失”。。顺便说一句,我是一名实习生,只是想知道一些事情=/是的,可以。如果你愿意的话,你可以完全重写整个页面。没关系,我得到了。。在我更改html主体之前,必须获取元素。。谢谢你的帮助!我使用这个的原因是因为我尝试了jsp,但我的公司serlvets等导致参数在新页面加载时“消失”。。顺便说一句,我是一名实习生,只是想知道一些事情=/是的,可以。如果你愿意的话,你可以完全重写整个页面。没关系,我得到了。。在我更改html主体之前,必须获取元素。。谢谢你的帮助!消极的DOM通过document.forms和元素提供了方便的访问,因此无需反复调用gebi,只需document.theForm.age.value='42'
@downvotersteptoight:感谢您留下评论。否,document.theForm.age
与OP的标记一起失败,因为表单和字段没有名称;他们有身份证。(人们可以通过窗口
对象访问它们,但如果您不小心命名,它会很拥挤,这会带来麻烦。)如果我们更改OP的标记,是的,我们可以这样做。但我们如何访问这些字段与OP的主要问题基本无关。@T.J.Crowder,啊,我对没有姓名attibutes的错误进行了纠正,我没有注意到您的代码片段与原始代码片段之间的差异。请问通过窗口访问是什么意思?看来我没能取下我的d
var a = document.createElement('p').value;
var ag = document.getElementById('age').value;
<form action="processuserinfo.aspx">
...
</form>