0

我需要获取表单字段(客户端、电话号码)的内容来验证它们(很可能使用正则表达式)并将它们连接成一个警报并修改一些 html 以便表单提交我得到

<p>John smith
99999999
2 wilerby dr
morrowie city
morrowie </p>

alert("form data")..

我尝试了类似的东西var field1 = document.forms[0].elements[0].value,但不确定如何处理这些字段。

编辑

<form id="form1" action="form_action.asp">
    <fieldset>
    <table cellpadding="3" border="0">
        <th> Order Details </th>
        <tr>
            <td>Client Name:</td>
            <td><input id="clientname" type="text" name="clientname" value="" maxlength="20"></td>
        </tr>
...

编辑 2

var name = document.getElementById('clientname').value;

function buttontest()
    {
    alert(clientname);
    }

使用此脚本,我不断收到 [object HTMLInputElement] 警报,该脚本是外部的,并且脚本标记位于标题中。

4

5 回答 5

0

您应该使用类似的 DOM 选择器document.getElementById('elementId').value

请阅读有关此类浏览器 API 的类似文档:https ://developer.mozilla.org/en-US/docs/Web/API/document

于 2013-10-27T07:08:48.243 回答
0

尝试向这些字段添加一个 ID,然后使用getElementById(). 例子。

var val = document.getElementById('id_field').value;
document.getElementById('id_tag').innerHTML = val;
于 2013-10-27T07:10:17.427 回答
0
var clientName = document.getElementById('clientname').value;
alert(clientName);
于 2013-10-27T07:12:38.790 回答
0

如果您已经知道要处理的元素的序列号,那么只有您可以使用您指定的语法,即如下:

document.forms[form_index].elements[form_element_index].value

form_index -> 元素所在的特定表单的索引。

form_element_index -> 特定表单中元素的索引。

所以你可以使用:

alert(document.forms[form_index].elements[0].value);

NB-form_index仅当您引用的表单是文档中的第一个表单时才为 0。

否则

如果您不知道表单的序列号或表单中元素的序列号,您应该使用id属性来引用它(不需要对元素所在的表单进行任何引用),这是通常的方法,我个人建议您使用此方法。

因此,在您的代码中使用以下内容:

alert(document.getElementById('clientname').value)
于 2013-10-27T07:33:48.143 回答
-1

您应该使用document.getElementById('ID'),您可以访问 www.w3schools.com 了解更多详情。

于 2013-10-27T07:11:42.973 回答