var loc_name = document.forms['create_<?php echo(htmlspecialchars($window_ID)); ?>'].elements['location_name'];
alert(loc_name);
这只是给了我'未定义'的信息
在哪里......
var loc_name = document.forms['create_<?php echo(htmlspecialchars($window_ID)); ?>'];
alert(loc_name);
给我一个对象形式的业务。
我错了吗?访问此表单元素的“正确”方法是什么?表单元素具有正确的name
,并且它具有id
,ID类似但不相同。
HTML
<input type="button" name="create_location" value="Create" onclick="
var pre_row_was = $('#pre_form_row_1').innerHTML;
$('#pre_form_row_1').innerHTML = '<td colspan=\'3\'>Validating...</td>';
var loc_name = document.forms['create_1'].elements['location_name'];
alert(loc_name);
if(loc_name.value == '') {
alert('You can\'t leave the room name blank');
loc_name.focus(); loc_name.value = 'Enter a name';
$('#pre_form_row_1').innerHTML = pre_row_was; return false;
}
if(loc_name.value == 'Enter a name') {
alert('You must enter a room name first'); loc_name.focus();
$('#pre_form_row_1').innerHTML = pre_row_was;
return false;
}
$('#pre_form_row_1').innerHTML = pre_row_was;
Window_manager.new_window().load_xml('location/create.php?location_name=' + loc_name.value).display();">
尝试格式化,以便更容易阅读。
答案 0 :(得分:2)
您的HTML无效。
tr
元素不能包含form
子元素,而form
元素不能包含td
子元素。
浏览器以不同的方式从此错误中恢复,包括(如果我没记错的话)将表单元素移动到表格之后,同时将其他所有内容保留在原来的位置。
在尝试使用JS访问DOM之前,先从valid文档开始。
混合表格和表格时,您可以整个表格整个表格,或整个表格放在单元格中。
您遇到的另一个问题是尝试修改表格行的innerHTML。这将在许多版本的Internet Explorer中中断。切勿使用innerHTML修改表的位。