我正在尝试使用innerHTML中的javascript提交表单,并且提交按钮不起作用。如何使用innerHTML提交表单?当它在体内时,它可以很好地工作,但我需要它在函数中,因为我需要picdata数据[1]。
function photoShowcase(picdata){
var data = picdata.split("|");
_("picbox").style.display = "block";
_("picbox").innerHTML += '<div id="contain" style="background: url(\'user/<?php echo $u; ?>/'+data[1]+'\') center no-repeat rgba(0,0,0,.8);">';
if("<?php echo $isOwner ?>" == "yes"){
_("picbox").innerHTML += '<div id="deletelink">';
_("picbox").innerHTML += '<form method="POST" action="php_parsers/change_image.php" name="ChangeImage">';
_("picbox").innerHTML += '<input type="hidden" value="'+data[1]+'" name="file_name" />';
_("picbox").innerHTML += '<input type="submit" value="Set as Profile Picture" name="SetImage" />';
_("picbox").innerHTML += '</form>';
_("picbox").innerHTML += '<a href="#" onclick="return false;" onmousedown="deletePhoto(\''+data[0]+'\')">Delete Photo</a>';
_("picbox").innerHTML += '</div>';
}
_("picbox").innerHTML += '</div>';
}
答案 0 :(得分:0)
有一些观点:
1 /您的PHP代码在哪里?
2 /你在哪里调用这个函数?这里是没有任何调用的函数...你必须用正确的参数调用函数才能工作。
3 /您使用((+ =))作为第一个innerHTML ......?这是为什么???你以前用过这个命令吗?
我认为你的回答是在这3点。
要获得更多帮助,请制作一个jsfiddle ......
答案 1 :(得分:0)
在您的代码中,您插入了不完整的html片段,这很可能会导致问题。
我建议将innerHTML存储在变量中,只有在包含所有必需的结束标记后才将其附加到文档中:
var htmlString = '<div id="contain" style="background: url(\'user/<?php echo $u; ?>/'+data[1]+'\') center no-repeat rgba(0,0,0,.8);">';
//...
_("picbox").innerHTML += htmlString;