3

Web サイトのユーザー サインアップ プロセスの一部として、次のコードを記述しました。明らかに、ユーザーがメールに記入して送信をクリックすると、フォームデータはこれを介して送信されます。

<?php

if(isset($_POST['email'])){

$email_from = $_POST['email'];

function died($error) {
    echo $error;
    die();
}

if(!isset($_POST['email'])) {
    died($error);
}

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if(!preg_match($email_exp,$email_from)) {

  $error_message .= ' <script type="text/javascript">
  alert("The email address you entered does not appear to be valid");
  window.location = "http://www.domain.com/";
  </script> ' ;
    }

if(strlen($error_message) > 0) {
    died($error_message);
}

etc, etc, etc....

私が本当に助けてくれるのは、このスクリプトのビットです:

$error_message .= ' <script type="text/javascript">
  alert("The email address you entered does not appear to be valid");
  window.location = "http://www.domain.com/";
  </script> ' ;
    }

HTMLページにリダイレクトする前に空白の白いphpページの前にjsアラートを表示するだけでなく、htmlページでフェードイン(およびクリックでフェードアウト)するエラーメッセージを作成するにはどうすればよいですか??

ありがとうございました!

4

3 に答える 3

2
<span class="fadeInMessage" style="display:none;">"The email address you entered does not appear to be valid"</span>

これは目に見えないところから始まります。次に、次のコードを記述します。

$(function(){
    $('.fadeInMessage').fadeIn();
});
于 2012-09-19T18:58:27.860 に答える
2

jQueryのfadeIn関数を使ってみてはどうでしょうか? http://api.jquery.com/fadeIn/ jQuery の使用方法がわからない場合は、HTML ページを jQuery の .js スクリプトにリンクし、必要に応じて関数を使用するだけです。

更新

あなたのコメントに答えるために。の説明によると、次のhttp://stackoverflow.com/questions/3708850/is-there-an-onload-event-for-input-elementsことができます。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
    <script type="text/javascript">
    function test() { 
        alert('test');
    }
    </script>
</head>
<body >
    <?php 
    if($condition) { 
        print '<input type="hidden" />
    <script>
    test();
    </script>';
    }

    ?>


</body>

test()次に、フェードインを呼び出すなど、 で好きなことを行うことができます。また、PHP の if 文で条件を指定することもできます。

于 2012-09-19T18:55:48.983 に答える
0

他の2つの答えに同意します。jQueryのfadeIn関数を使用する必要があります。ただし、jQuery を使用したくない、または使用できない場合は、純粋な Javascript の実装を開始する必要があります。

HTML:

<div id="message">Hello world!</div>​

Javascript:

var msg = document.getElementById( 'message' );
msg.style.opacity = 0;

function fadeIn() {
    if( msg.style.opacity < 1 ) {
        msg.style.opacity = parseFloat(msg.style.opacity) + 0.01;        
        setTimeout( fadeIn, 25 );
    }
}

function fadeOut() {
    if( msg.style.opacity > 0 ) {
        msg.style.opacity = parseFloat(msg.style.opacity) - 0.01;
        setTimeout( fadeOut, 25 );
    }
}        

fadeIn();

msg.onclick = function() { fadeOut(); }

ここに jsFiddle のデモンストレーションがあります: http://jsfiddle.net/GgYS8/

于 2012-09-19T20:08:45.010 に答える