javascript - 从ajax页面调用javascript函数

标签 javascript ajax

我有一个表单,通过包含 API 调用的 ajax 调用上传文件。 如果 API 成功,我想更新包含文件列表的表。 我正在考虑在 ajax 页面内调用一个 javascript 函数,但我得到的结果是该函数处于未定义状态,我通过将 clarifications.js 放在 javascript 函数之前修复了这个问题。

这是表单(在页面顶部我包含了包含 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,放入 clarification.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>

clarifications.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

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

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

注意:恐怕我无法使用 jQuery,请仅使用 Javascript。

最佳答案

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

关于javascript - 从ajax页面调用javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635234/

相关文章:

php - 如果 var 为空需要退出函数并使 ajax 显示错误 PHP/AJAX

javascript - 使用 ajax 时数据表搜索输入的 Keyup 事件不会触发

javascript - 使用 Jquery/PHP/Mysql 更新编辑值

javascript - fullCalendar - 事件标题和详细信息

javascript - 重新评估仅取决于可观察数组的 Knockout 计算

javascript - 重用 kendo-ui 模板

javascript - Jquery 多个提交按钮

javascript - 如何创建一个字典,使用单词的频率作为键?

javascript - showMessageBox promise 永远不会被调用

JQuery 将一个 span 类添加到一个 div 中