1

2 つのテキスト フィールドと 1 つのファイル フィールドを持つフォームを作成しました。'text'フィールドに Javascript を追加しました。ユーザーが'text'フィールドを離れて送信ボタンを押すと、All Fields are Requiredフォントが赤くなります。ユーザーが画像をアップロードしていないときも赤くしたいです。私はさまざまな方法を試しましたが、うまくいきません。よろしければやり方を教えてください。

      <script type="text/javascript">

function myFunction()
{
    var category_name   =   document.forms["insert"]["sub_category_name"].value;
    //var image =           document.forms["insert"]["file"].item();

    var error           =   document.getElementById("error");


    if(category_name=="" )
    {
        error.style.color="Red";
        return false;
        }
        else
        {
            //message.innerHTML="Data Inserted!";
            }
    }


</script>

PHP コード

    <?php

echo "
    <form name='insert' action='sub_categories.php' method='POST' onSubmit='return myFunction()' enctype='multipart/form-data'>
        <table class='gridtable' border=2 bordercolor='#CCCCCC' cellpadding='10'>
        <tr>
        <th>
            Sub-Category Name: </th><td>    <input type='text' name='sub_category_name' ></td></tr>";





            echo "
        <tr>
        <th>
            Image1:</th><td> <input type='file' name= 'file' ></td></tr> 

            ";

ありがとう

4

2 に答える 2

5

ファイル入力を id で取得し、値が空かどうかを確認します。

if(document.getElementById('file').value=='') {//something here }
于 2013-09-10T08:16:16.167 に答える
0

最も簡単な方法は、次のように JQuery を使用することです。

$("input[type='file'][name='file']").filter(function (){
    return !this.value
}).length; 

':empty' を使用できない理由は、要素に子孫がない場合に ':empty' が一致するためです。入力要素は子孫を持つことができないため、'input' は常に ':empty' を true と評価します。

于 2013-09-10T08:16:43.193 に答える