从 ajax 页面调用 javascript 函数

Calling javascript function from ajax page

本文关键字:javascript 函数 调用 ajax      更新时间:2023-09-26

我有一个表单,我通过包含API调用的ajax调用上传文件。如果 API 成功,我想更新一个包含文件列表的表。我正在考虑在 ajax 页面中调用一个 javascript 函数,但我得到的是 undefined 中的函数,我通过在 javascript 函数之前添加澄清.js来修复它。

这是表单(在页面顶部,我包含了包含javascript函数的js文件):

<div class='input_table_title'>Upload file:</div>
<div style='float:left;'>
<form name='upload_my_files' action='ajax/clarifications/handle_upload.php'   method='post' enctype='multipart/form-data' target='upload_target'>
<input type='file' name='file_upload' />
<input type='hidden' name='notification_id' value='<?php echo $value->NotifiNumber; ?>'  />
<input type='submit' value='Upload'>
</form>
<iframe id='upload_target' name='upload_target' src='' style='width:0;height:0;border:0px solid #fff;'></iframe>
</div>

handle_upload.php我进行 API 调用,并在页面末尾关闭 php,进行澄清.js并调用函数。

<script src="(position)/clarifications.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
createTable("<?php echo $outcome ?>", "<?php echo $uploaded_filename ?>");
</script>

澄清中.js文件中,我声明了该函数(正如我之前所说,我在表单页面中包含 js 文件):

function createTable (result, filename) {
 if (result == 'success'){
  var success = document.getElementById('clarification_success');
  success.style.display = "block";
  success.innnerHTML = "File "+filename+" successfully uploaded.";
  // Update the list of uploads
  var list = document.getElementById('table_clarification');
  var myElement = document.createElement("td");
  myElement.innerHTML = filename;
  list.appendChild(myElement);
 }
 return true;
}

clarification_success是一个div,我想在其中显示成功消息。table_clarification是我要在其中添加文件名已上传行的表的 id

上传成功,但未定义函数创建表。编辑:已解决

我遇到的另一个问题是该函数找不到 id "clarification_success",我认为是因为在而不是普通页面中寻找它。我说的对吗?如果是,我该如何解决?

注意:恐怕我不能使用jQuery,只能使用Javascript。

如果我

理解正确 - iframe 内容应该是单独的页面。 此页面在服务器上动态构建,并作为帖子答案返回给客户端。此页面的标题中可能包含<script src="(path)/clarifications.js"></script>