提交图像表单验证

时间:2012-12-22 16:30:45

标签: javascript image forms validation

$('#submit-img').on('click', function() {
    $('#img').attr('src', $('#url').val());     
});

function validate() {
    if ($('#img').attr('src') === '../static/img/placeholder.png'){
        return false;
    }
}

<form method="post" action="/{{ curr_user }}" enctype="multipart/form-data" onSubmit="return validate(this);" >
    <div class="imagey">
        <img id="img" src="../static/img/placeholder.png" onerror="this.src = '../static/img/placeholder.png'" alt="image" />
    </div>
    <span class="input-url">
         <input type="text" name = "url" id="url" placeholder="http://" maxlength="320"/>
    </span>
    <input type="submit" id="submit-img" name="op" value="Submit" class="form-submit"/>
</form>

此验证码对我不起作用。任何猜测为什么?

此外,如果仅使用alert($('#img').attr('src'))

替换validate函数中的if语句

警告说Undefined

1 个答案:

答案 0 :(得分:0)

您的代码中存在多个错误。

首先,这会在浏览器中创建无限循环的404s

<img id="img" src="../static/img/placeholder.png" onerror="this.src = '../static/img/placeholder.png'" alt="image" />

其次,它应该是$('。submit-img'),而不是$('#submit-img'),因为你设置了class属性,而不是id属性。

第三,你需要将jQuery代码包装成$(document).ready(function(){...});

修好后,代码适用于我on jsfiddle

[编辑:] 好的,这可能就是你要找的东西:

$(document).ready(function() {
    $('#url').on('keyup', function() {
        $('#img').attr('src', $('#url').val());
    });
});

当用户输入网址时,会显示图片。

Example on jsfiddle