0

4 つの入力が必要なフォームがあります。欠落している場合は、URL に渡されます。

4つすべてが欠落している場合、次のようになります。

?required[0]=field_name&required[1]=field_email&required[2]=field_number&required[3]=field_desc

最初の 1 つfield_nameが欠落している場合、配列は 1 つ前にプッシュされるため、field_email[0] になります。これは、配列が常に 0,1,2,3 の順序であることを意味します。

私が知りたいのは、欠落している入力の周りに赤い枠線を引くことができるように、情報を取得する方法です。私が必要とするのは次のようなものです:

while ($i=0,$i<=3,$i++) {
    do ($requiredArray[i] == 'field_email') {
        echo '<script type="text/javascript">$("#name)".css("border","1px solid #ff0000");</script>';
    } while ();
    endwhile;
}
4

3 に答える 3

0

array_search次のようにphpで使用することもできます:

array_search("field_name",$_GET['required']);

値がゼロ以上の場合は、処理を実行できます。

同様に、配列変数にすべての値を含めることができ、次のようにループ$required_arrayを使用できます。foreach

foreach($required_array as $val){
 if(!(array_search($val,$_GET['required'])>=0)){
   echo '<script type="text/javascript">$("#'.$val.')".css("border","1px solid #ff0000");</script>';
 }
}
于 2012-07-11T05:02:30.267 に答える
0

サーバー側で検証を実行するフォームの例を次に示します。

<?php
$first_name = $_GET['fname'];
$last_name = $_GET['lname'];
$email = $_GET['email'];
$submit = $_GET['submit'];

if(empty($first_name) && !empty($submit)){
    $missing_fname = 1;
}
if(empty($last_name) && !empty($submit)){
    $missing_lname = 1;
}
if(empty($email) && !empty($submit)){
    $missing_email = 1;
}
?>
<table><form action="" method="get">
    <tr><td>Enter First Name:</td><td><input type="text" id="fname" name="fname" value="<?php echo $first_name; ?>" ></td><td><?php if($missing_fname == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
    <tr><td>Enter Last Name:</td><td><input type="text" id="lname" name="lname" value="<?php echo $last_name; ?>" ></td><td><?php if($missing_lname == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
    <tr><td>Enter email:</td><td><input type="text" id="email" name="email" value="<?php echo $email; ?>"></td><td><?php if($missing_email == 1) echo "<font color='red'>This field is Mandatory!</font>" ?></td></tr>
    <tr><td></td><td><input type="submit" value="submit" name="submit" id="submit"></td></tr>
    </form>
</table>
于 2012-07-11T06:41:56.853 に答える
0

Jquery を使用したフォーム検証を検討すると、よりシンプルで拡張性が高くなります。

http://docs.jquery.com/Plugins/Validation

于 2012-07-11T04:59:09.533 に答える