Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取img.src值(路径名)_Javascript_Html_Forms - Fatal编程技术网

Javascript 获取img.src值(路径名)

Javascript 获取img.src值(路径名),javascript,html,forms,Javascript,Html,Forms,我有一张登记页的表格。表单包含一个图像,该图像根据情况更改其src。 在提交表单时激活的脚本中,我希望表单在该图像具有特定src时调用警报,因此我需要一种检索和比较值的方法 HTML: 以下是完整的相关代码: <script type="text/javascript"> function checkForm(f) {if ([image src value] == "pictures/apic.png")

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

HTML:

以下是完整的相关代码:

    <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;"/>

功能检查表(f)
{if([image src value]=“pictures/apic.png”)
{
警报(“错误图片为apic”);
返回false;
}
其他的
{
f、 提交();
返回false;
}
}
*名字:
(其他物体)
使用以下方法:

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

在图像中添加一个ID标签(如果还没有),例如:

编辑


这里的工作示例:

我在哪里指定img元素,因为页面上有很多。例如,如果
f.getElementsByTagName('img')[0]
引用了
f
表单中的第一个图像元素,则有任何方法可以声明一个范围(例如,所有元素)或通过图像id/名称来执行此操作。您可以使用For语句测试所有
文档。getElementsByTagName('img')
项我似乎无法让代码正常工作,我编辑了这篇文章来展示所有相关的代码,你能看到问题是什么吗?这里有一个非常简单的提琴来演示它的工作原理:。也许如果您发布整个代码,我们可以看到到底是哪里出了问题。您的代码的主要问题是提交按钮位于
标记之外,因此您的
checkForm()
函数永远不会运行。另一件需要注意的事情是,
checkForm()
函数不需要直接调用表单的
submit()
方法-您只需要返回
true
以允许继续提交,或者返回
false
以取消提交。这里有一个更新的fiddle可以正常工作:除非我将.src更改为.getAttribute('src'),否则代码无法工作。但是,我使用了您改进的功能:)
    <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;"/>
if (document.getElementById('FName_Status').getAttribute('src') == "pictures/apic.png")
<img src="pictures/apic.png" id="imageId" />
if (document.getElementById("imageId").src == "pictures/apic.png")
{
    ...
}