проверьте имя файла перед публикацией, используя jquery / php - PullRequest
1 голос
/ 11 сентября 2009

Мне нужен jquery, чтобы проверить, пусто ли мое опубликованное имя файла (up_image).

если он пуст, мне нужно показать тег div и получить какое-то предупреждающее сообщение.

если нет, просто сделайте

$("#submit").submit();
    <form action="/profile/" method="post" enctype="multipart/form-data" id="submit">
    <p>
        <label for="up_image">image:</label>
        <input type="file" name="up_image" id="up_image" />     
    </p>
    <a href="javascript:;" id="post_submit" class="submit_btn">Upload</a>
</form>

Ответы [ 2 ]

2 голосов
/ 11 сентября 2009
$(function() {
  $("#post_submit").click(function() {
    var fil = $("#up_image");
    if($.trim(fil.val()).length == 0) {
      alert("Choose a file!");
      fil.focus();
      return false;
    }

    $("#submit").submit();
  });
});
0 голосов
/ 11 сентября 2009

1: используйте стандартную кнопку отправки, чтобы отправить форму, а не ссылку, зависящую от javascript, по причинам доступности и для предотвращения взлома, если кто-то попытается щелкнуть правой кнопкой мыши по открытию в новом окне или другим аналогичным действием на ссылка. Если вы хотите, чтобы он выглядел как ссылка, вы все равно можете использовать кнопку, просто примените немного CSS, чтобы он больше не выглядел как кнопка.

2: используйте событие form.onsubmit, чтобы выполнить проверку, а не полагаться на нажатие кнопки «Отправить» (формы также можно отправить, нажав клавишу ввода, что может не всегда генерировать нажатие кнопки)

<form id="uploadform" method="post" action="/profile/" enctype="multipart/form-data">
    <p>
        <label for="up_image">image:</label>
        <input id="up_image" type="file" name="up_image" />
    </p>
    <p>
        <input type="submit" value="Upload" />
    </p>
</form>
<script type="text/javascript">
    $('#uploadform').submit(function(e) {
        if ($('#up_image').val()=='') {
            alert('Please choose a file to upload.');
            e.preventDefault();
        }
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...