iframe内のphp呼び出しからjQueryを使用してhtml文字列(つまり返信)を追加する必要がありますが、インデントも保持する必要があります。
基本的に、私はそれを詳述するphpに返信を送信し、それを投稿するjqueryを介して送り返しますが、マークアップ(タブ、スペースなど)を保持する必要があります。それを行う方法はありますか?現時点では、これを使用しています:
echo "<script>parent.$('#formreply').nimbleLoader('hide');parent.post_reply('".addslashes($_POST['message'])."','".$date."','".htmlspecialchars($_SESSION['name'],ENT_QUOTES,'UTF-8')."',".$json.");</script>";
しかし、すべてのマークアップを で削除する必要があります。trim(preg_replace('/\s+/','',$_POST['message']))
それ以外の場合、js は: を返しますunterminated string literal
。
これは投稿の例です (the eco
):
parent.$('#formreply').nimbleLoader('hide');parent.post_reply('<pre class=\"html\">
<script>
alert(\'ciao\')
alert(\'ciao\')
</script></pre>
<p> </p>','2013-11-01 12:29:58','Admin',null);
編集
function post_reply(mess, dat, name, up) {
totalmsg++;
<?php if(!$isMob){ ?>
CKEDITOR.instances.message.setData('');
<?php } else { ?>
editor.setValue("", true);
<?php } ?>
$(".uploadfilebox").each(function () {
$(this).remove()
});
$(".attlist").append("<div class='row-fluid uploadfilebox'></div>");
tail = [];
$("#messages").children(".row-fluid:first").hasClass("oddmessage") ? tail.push('<div class="row-fluid evenmessage" style="display:none"><div class="row-fluid"><div class="span2 usrinfo"><p class="username">' + name + '</p><p class="date">' + dat + '</p><p class="postnumber">Post Number: '+totalmsg+'</p></div><div class="span8 messagecell">' + mess + "</div></div>") : tail.push('<div class="row-fluid oddmessage" style="display:none"><div class="row-fluid"><div class="span2 usrinfo"><p class="username">' + name + '</p><p class="date">' + dat + '</p><p class="postnumber">Post Number: '+totalmsg+'</p></div><div class="span8 messagecell">' + mess + "</div></div>");
if (null != up){
tail.push('<div class="row attachment"><div class="span2 offset1 attachmentsec">Attachment</div><div class="span8">');
var count= up.length;
for (i=0; i < count; i++)
tail.push("<form class='download_form' method='POST' action='../php/function.php' target='hidden_upload' enctype='multipart/form-data'><input type='hidden' name='ticket_id' value='" + up[i][0] + "'/><input type='hidden' name='file_download' value='" + up[i][1] + "'/><input type='submit' class='btn btn-link download' value='" + up[i][2] + "'> <i class='icon-remove-sign remfile' title='Delete File' alt='Delete File'></i></form>");
tail.push("</div></div>");
}
tail.push("</div>");
$(".newest").remove();
$("#messages").children(".row-fluid:first").before(tail.join(""));
$("#messages").children(".row-fluid:first").delay(300).show('scale');
$('#fielduploadinput').wrap('<form>').closest('form').get(0).reset();
$('#fielduploadinput').unwrap();
add++;
writing=false;
}