私はこのような形をしています:-
<form id="form" name="form" action="banner_ad_post.php" method="post" enctype="multipart/form-data">
<p>
<label for="banner_name"><font color="#FF0000"> * </font>Banner Name: </label>
<input type="text" name="banner_name" id="banner_name" value="" maxlength="100" required="required"/>
</p>
<p>
<label for="Banner_website_url"><font color="#FF0000"> * </font>Banner website Url: </label>
<input type="url" name="banner_site_url" id="banner_site_url" value="" maxlength="100" required="required"/>
</p>
<p>
<label for="banner_image_url">Banner Image Url: </label>
<input type="file" name="file" id="file" value="" accept="image" placeholder="Browse from hard disk" onchange="img_path()"/>
<font color="#FF0000"> OR</font>
<input type="url" name="banner_image_url" id="banner_image_url" value="" maxlength="100" placeholder="Enter the url from website." onchange="validate()"/>
</p>
<p>
<label for="submit"> </label>
<input type="submit" id="submit" name="submit" value="Submit" />
</p>
</form>
そして次のようなJavaScriptコード:-
<script>
function validate()
{
var banner_name=document.getElementById("banner_name");
var banner_site_url=document.getElementById("banner_site_url");
var banner_file=document.getElementById("file");
var banner_image_url=document.getElementById("banner_image_url");
//var x=banner_file.value;
//var y=banner_image_url.value;
if((banner_file.value=true) && (banner_image_url.value=true))
{
alert("Please choose only one field either url or image uploading.");
document.getElementById("form").reset();
}
}
function img_path()
{
var file_path=document.getElementById('file').value;
if(file_path.match(".jpeg$")==".jpeg" || file_path.match(".gif$")==".gif" || file_path.match(".GIF$")==".GIF" || file_path.match(".JPEG$") ==".JPEG" || file_path.match(".JPG$")==".JPG" ||file_path.match(".jpg$")==".jpg" || file_path.match(".png$")==".png" || file_path.match(".PNG$")==".PNG")
{
return true;
}
else
{
alert("Upload .jpg/.gif/png file olny");
document.getElementById("form").reset();
return false;
}
}
</script>
ここで問題となるのは、フォームに唯一の画像URLを入力しようとするときはいつでもです。「(URLまたは画像のアップロードのいずれかのフィールドを1つだけ選択してください)」というアラートメッセージを生成します。しかし、私の定義によれば、メッセージは、filedbanner_image_urlとfileの両方がtrueに設定されている場合にのみ表示する必要があります。
どんな助けでもありがたいです...
事前に感謝します。