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相似但不相同。
name
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();">
尝试格式化它,以便更容易阅读。
您的HTML无效。
一 tr 元素不能有 form 孩子和A 形式 不能有 td 孩子。
tr
form
形式
td
浏览器以不同的方式从这个错误中恢复,包括(如果我没记错的话)将表单元素移到表的后面,同时将其他元素保留在表所在的位置。
从A开始 valid 在尝试使用js访问dom之前,请先编写文档。
混合窗体和表时,可以将整个表放在窗体中,或将整个窗体放在单元格中。
另一个问题是试图修改表行的innerHTML。这将破坏许多版本的Internet Explorer。永不修改 位 具有innerHTML的表。