1

我有这样的表格: -

<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()"/> &nbsp;
                   <font color="#FF0000"> OR</font> &nbsp;
                  <input type="url" name="banner_image_url" id="banner_image_url" value="" maxlength="100" placeholder="Enter the url from website." onchange="validate()"/> &nbsp; 


                </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 时。它会生成一条警告消息,说明“(请仅选择一个字段,网址或图片上传)”。但是根据我的定义,只有在归档的banner_image_url和文件都设置为true时才应该显示消息。

任何帮助将不胜感激......
提前感谢。

4

3 回答 3

3

您需要使用 == 而不是 =

if((banner_file.value==true) && (banner_image_url.value==true))
于 2012-11-24T19:19:55.130 回答
1

这样做:

banner_file.value=true

设置 的值,banner_file.value无条件返回。true

这不是您想要的,因为您想检查banner_file.value.

另一方面,这样做:

banner_file.value==true

true仅当 的值banner_file.value计算为时才返回true。这就是你想要做的。

尝试以下更改:

if((banner_file.value) && (banner_image_url.value))
于 2012-11-24T19:20:21.593 回答
0

这个:

if((banner_file.value=true) && (banner_image_url.value=true))

应该:

if((banner_file.value == true) && (banner_image_url.value == true))

因为,在您的代码中,您将变量设置为 true 而不是检查它是否为 true。但是,如果您想要尽可能少的代码,您可以编写:

if(banner_file.value && banner_image_url.value)

显式测试== true是多余的 - 但它可以使代码对某些人来说更具可读性。只是想我会提到它,以防你发现最后一个例子更干净:)

于 2012-11-24T19:20:58.630 回答