簡體   English   中英

僅在滿足php條件的情況下運行javascript函數

[英]run javascript function only if php conditions are met

我希望start_uploading函數僅在滿足所有條件且正在上傳文件的情況下才啟動,現在提交表單但不滿足所有上傳條件時,“ loading”消息立即彈出。

if(condtion){// don't start function} else

if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) {
  //now start function} else echo "error";

javascript

function start_Uploading(){
  document.getElementById('message').innerHTML = 'Loading... <br> Please Wait';
  return true;
}

和html

<form action="something.php" method="POST" enctype="multipart/form-data"
 onsubmit="start_Uploading();">    

由於您正在檢查條件是否在php中為真,因此只要滿足條件,我只會簡單地回顯js方法名稱。

像這樣:

<?php
  if(true) $onsubmit = "start_Uploading();"; // Put actual condition in parantheses
  else $onsubmit = "";
?>

然后以您的形式:

<form action="something.php" method="POST" enctype="multipart/form-data"
onsubmit="<?php echo $onsubmit; ?>">

如果不滿足條件,將不提供任何方法名稱,而js根本不知道提交時要查找的內容。

move_uploaded_file()正在將上傳的文件從apache的temp目錄復制到用戶目錄,因此,當您提交文件時,在php端可以開始處理該文件之前,它已經被上傳到temp目錄。

因此,我建議您使用客戶端(javascript)表單驗證,或研究AJAX文件上傳和/或表單驗證。 PHP是一種服務器端語言,在頁面加載之前運行。 不在頁面內。 (除非是來自客戶端的AJAX調用。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM