【问题标题】:Getting img.src value (path name)获取 img.src 值(路径名)
【发布时间】:2012-06-08 14:45:26
【问题描述】:

我有一个注册页面的表格。该表单包含一个图像,该图像会根据情况更改其 src。 在提交表单时激活的脚本中,如果该图像具有特定的 src,我希望表单调用警报,因此我需要一种检索和比较值的方法。

HTML:

<form action="register_submit.php" method="post" name="mainform" enctype="multipart/form-data" onSubmit="return checkForm(this);return false;">

JS:

    function checkForm(f)
    {if ([image src value] == "pictures/apic.png")
       {
          alert("error picture is apic");
          return false;
       }
     else
       {
          f.submit();
          return false;
       }
    }

下面是完整的相关代码:

    <script type="text/javascript">
            function checkForm(f)
            {if ([image src value] == "pictures/apic.png")
               {
                  alert("error picture is apic");
                  return false;
               }
             else
               {
                  f.submit();
                  return false;
               }
            }
    </script>

    <form action="register_submit.php" method="post" name="mainform" enctype="multipart/form-data" onSubmit="return checkForm(this);return false;">

    <div class="required">
    <label for="first_name">*First Name:</label>
    <input type="text" name="first_name" id="first_name" class="inputText" onkeyup="checkFName(this.value);" onblur="checkFName(this.value);" maxlength="20" size="10" value="" />
    <img id="FName_Status" name="FName_Status" src="/pictures/bad.png" style="margin-left:5px; position:absolute;" alt="FName_Status" />
    </div>

    (OTHER OBJECTS)
    </form>

<input type="submit"  name="sub" class="inputSubmit" value="Submit &raquo;"/>

【问题讨论】:

    标签: javascript html forms


    【解决方案1】:

    使用这个:

    if (document.getElementById('FName_Status').getAttribute('src') == "pictures/apic.png")
    

    【讨论】:

    • 我在哪里指定 img 元素,因为页面上有很多元素。例如,如果
    • f.getElementsByTagName('img')[0] 指的是f 表单中的第一个图像元素
    • 有没有办法说明一个范围(例如所有元素)或通过图像 ID/名称来代替。
    • 您可以使用 for 语句来测试所有 document.getElementsByTagName('img') 项目
    • 我似乎无法让你的代码工作,我已经编辑了帖子以显示所有相关代码,你能看到问题是什么吗?
    【解决方案2】:

    为您的图片添加一个 ID 标签(如果还没有),例如:

    <img src="pictures/apic.png" id="imageId" />
    

    那么你可以参考如下:

    if (document.getElementById("imageId").src == "pictures/apic.png")
    {
        ...
    }
    

    编辑

    这里的工作示例:http://jsfiddle.net/2Wtkn/2/

    【讨论】:

    • 这是一个非常简单的小提琴,展示了它的工作原理:jsfiddle.net/2Wtkn。也许如果您发布您的整个代码,我们可以看到究竟是什么错误。
    • 您的代码的主要问题是提交按钮位于&lt;form&gt; 标记之外,因此您的checkForm() 函数永远不会运行。另外需要注意的是,您的checkForm() 函数不需要直接调用表单的submit() 方法——您只需返回true 以允许继续提交,或者返回false 以取消它。这是一个正常工作的更新小提琴:jsfiddle.net/2Wtkn/2
    • 除非我将 .src 更改为 .getAttribute('src'),否则您的代码将不起作用。但是我已经使用了你改进的功能:)
    猜你喜欢
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2022-07-14
    • 2020-05-14
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    相关资源
    最近更新 更多