4

I'm trying to learn Javascript and here is an issue I can't resolve.. I have this html tag

  <img id="img1" src="" class="img-thumbnail" style="display:none;" />
  <input id="addimg" type="button" value="Save URL" onclick='SaveUrl()'/>

and with Javascript I want to check if image source is empty here are a Javascript functions:

function SaveUrl() {
    var url = document.getElementById("ImageUrl").value;
    SaveImgUrl(url);
    ClearUrl();
}

function SaveImgUrl(url) {
        var img = document.getElementById("img1");
        if (img.src.length == 0) {
            img.src = url;
            img.style = "block";
        }

Problem is with if statement I mean it returns false when source value is "" I also tried if(img.src == "") but that doesn't help as well. also I know there are simplier solutions provided by jQuery but I want to solve it with simple Javascript without using any frameworks.. please help :)

0

3 Answers 3

8

You have to use the getAttribute function to get the src like so:

<script>
function checkSRC()
{
  var elem = document.getElementById('img1');
  if(elem.getAttribute('src') == "")
  {
    alert("empty");
  }
  else
  {
    alert("HAS a value");
  }
}
</script>
<img id="img1" src="" class="img-thumbnail"/>
<button onClick="checkSRC();">CHECK SRC</button>

AND IF IT WILL HAVE A VALUE:

<script>
function checkSRC()
{
  var elem = document.getElementById('img1');
  if(elem.getAttribute('src') == "")
  {
    alert("empty");
  }
  else
  {
    alert("HAS a value");
  }
}
</script>
<img id="img1" src="https://pbs.twimg.com/profile_images/378800000532546226/dbe5f0727b69487016ffd67a6689e75a.jpeg" class="img-thumbnail"/>
<button onClick="checkSRC();">CHECK SRC</button>

Sign up to request clarification or add additional context in comments.

1 Comment

I would like to but don't know how, I think I don't have enough reputation yet.
3

Change your if statement to this

function SaveImgUrl(url) {
    var img = document.getElementById("img1");
    if (!img.src || !img.src.length || img.src.length === 0) {
        img.src = url;
        img.style = "block";
    }

You didn't check to see if src did not exist, so length cannot be checked.

Comments

1

You need to check whether it has a value and if so, whether the value contains only white characters

if ((!img.src) || (!img.src.trim()))

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.