我的Mootools函数获取一个JSON对象,它是一个字符串格式的html表单
var req = new Request.JSON({
method: 'post',
url: 'index.php',
onSuccess: function(r) {
if (typeof(r)!='undefined' && r!=null)
{
$('my_div').set('html',r.form);
}
});
有没有办法将字符串响应转换为HTML元素,以后我可以这样做:
document.myForm.submit();
我知道我可以解析每个表单元素并逐个创建DOM元素,但是有一种更简单的方法可以将表单从字符串转换为正确的DOM元素吗?
令人惊讶的是,上面的代码在FF和IE中有效但在我尝试使用
提交表单时在Chrome中失败Uncaught TypeError: Cannot call method 'submit' of null
因为字符串未转换为实际的DOM元素
修改
alert(r.form); //Prints the form OK
$('my_div').set('html',r.form);
alert($('my_div').innerHTML); //Prints the form without the <form> tags..
仅限Chrome!
FIX
毕竟我试图将一个表单插入到另一个表单中的div中,这显然不会在Chrome上接受
答案 0 :(得分:0)
在将表单插入DOM后,您必须选择该表单:
var div = $('my_div');
if (typeof(r)!='undefined' && r!=null) {
div.set('html',r.form);
}
var form = div.getElement('form');
form.fireEvent('submit');