0

我正在尝试使用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>';
}
4

2 回答 2

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;
于 2013-10-20T18:14:47.077 回答
0

有几点:
1/ 你的 PHP 代码在哪里?
2/ 你在哪里调用函数?这是没有任何调用的函数...您必须使用正确的参数调用该函数才能工作..
3 /您将 (( += )) 用于第一个innerHTML ...?这是为什么???你以前用过这个命令吗?

我认为你的答案在这 3 点。

如需更多帮助,请制作一个jsfiddle ...

于 2013-10-20T18:11:59.707 回答