2012-04-28 10 views
0

私は、テキストフィールドの入力とフォルダパスの2つのフォームを取ります。 フォームを送信する前に、ユーザーが指定したフォルダパスが正しいかどうかを確認して、エラーメッセージを表示しないようにします。入力フォルダがPHPまたはJavaScriptに存在するかどうか確認してください

フォームを送信する前に同じページでこれを検証できる方法はありますか?

私はjavascriptを使用しましたが、期待どおりに動作しないようです。思考/提案?

<script> 
function checkfolder() 
{ 
    var myObject; 
    myObject = new ActiveXObject("Scripting.FileSystemObject"); 
    if(!myObject.FolderExists()){ 
    alert("Folder does not exist"); 
    } 
    } 
</script> 
<form method=post action="some_file.php"> 
. 
. 
. 

<input type="submit" name="submit" value="submit" onClick='checkFolder()'> 
</form> 
+0

クライアントのフォルダパス*?ユースケースは何ですか? – deceze

+0

その複雑な使用例です。私はそれを説明できることを望む:| – Naveen

答えて

1

これで大したことは起こりません。 PHPはサーバ上で動作し、ユーザのコンピュータへのアクセス権がないため、これを行うことはできません。ブラウザはセキュリティ上の理由から、JavaScriptを使用してファイルシステムへのアクセスを禁止するため、JavaScriptは失敗します。

+0

これに追加するには... "Scripting.FileSystemObject"は、ローカルで実行される.JSファイル(Semi-Windows Automation)のコンテキストでのみ、またはMSが作成したWebベースのアプリテクノロジであるHyperTextアプリケーション90年代後半には更新されていない。 –

+0

私の次善の選択肢は何ですか? – Naveen

+0

可能であれば、フォーム提出後に検証してください。 –

0

ローカルデータにアクセスしてその存在を検証する方法はありません。あなたがそうしても、それは本当に悪いと考えられています。

画像ファイルをGmailにアップロードするときのように、ファイルパス(これはあなたがやっていることを前提としています)を書き込むのではなく、JavaScriptのBrowseファイルダイアログを作成するだけです。その種。これにより、少なくともあなたがファイルをアップロードしようとしているときにそれが存在することが保証されます。

ファイルを選択してから送信する前に、ファイルが実際に削除されるかどうか。それは問題ではありません。存在しない場合、アップロードは失敗します。

関連する問題