0

ファイルが正常にアップロードされたか、失敗したか、キャンセルされたかを確認するコードを以下に示します。

  if (success === 1){ 
    result = '<span class="imagemsg'+imagecounter+'">The file was uploaded successfully</span><br/><br/>';       
    $('.listImage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage" image_file_name="' + imagefilename + '">Remove</button><br/><hr/></div>');  
    displayInfo = replaceForm;       
  } 
  else if (success === 2){ 
    result = '<span class="imagemsg'+imagecounter+'"> The file upload was canceled</span><br/><br/>'; 
    displayInfo = updateForm;     
  } 
  else { 
    result = '<span class="imagemsg'+imagecounter+'">There was an error during file upload</span><br/><br/>'; 
    displayInfo = updateForm;   
  }

しかし、PHP スクリプトで以下を出力する JavaScript 関数があります。

<script language="javascript" type="text/javascript"> 
    window.top.stopImageUpload(<?php echo $result ? 1 : 2; ?>, '<?php echo $_FILES['fileImage']['name'] ?>'); 
</script> 

ファイルが正常にアップロードされた場合は正しいメッセージが表示され、キャンセルされた場合は正しいメッセージが表示されますが、問題は、ファイルのアップロードに失敗した場合、メッセージのアップロード中にエラーではなくキャンセル メッセージが表示されることです。上記のコードの一部を変更しようとしたので、次のようになります。

...<?php echo $result ? 1 : 2 : 3 ?>..

しかし、これは私にエラーを与えます。私の質問は、ファイルが正常にアップロードされなかった場合に正しいメッセージを出力できるように、上記のコードを変更するにはどうすればよいですか?

4

2 に答える 2

1

エラーは何ですか?

三項構文が正しくありません: http://davidwalsh.name/php-shorthand-if-else-ternary-operators

正しい構文は次のとおりです。

echo ( <condition> ) ? <event if true> : <event if false>;

追加イベントがあります!

于 2012-09-26T18:10:34.683 に答える