1

私が思うに単純なことで少し問題があります。機能する JQuery が既に多数含まれている Perl スクリプトがあります。ユーザーがメールアドレスフィールドを離れるとすぐに、.blur と .get を使用して Perl でメール検証サブを実行したいと考えていました。ただし、Perl スクリプトと JQuery 呼び出しを結び付けることができないようです。そのため、機能させるためにできる限り単純化しました。基本的に、ユーザーは入力フィールドを離れ、スクリプトが呼び出され、単に何かを出力し、アラートを介して Jquery を使用します。

JQuery

$('#billemail').blur(function() {
    $.get('ajax_email_check.pl', { 'email': $('#billemail').val() }, function(data) {
        alert ("Billing email is "+data+"!");
    });
});

パール

#!/usr/bin/perl

use warnings;
use DBI;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
require "./lib/servervars.pl";
require "./lib/common.pl";

my $email_address = param('email');

#my $email_valid = &check_email($email_address);

#if ($email_valid) {
#    $output = "Success";
#} 
#else {
#    $output = "Fail";
#}

print "Success";

もちろん、.get 行と終了タグを削除すると、フィールドがフォーカスを失ったときにアラートがトリガーされます。助けてくれてありがとう!

4

2 に答える 2

1

なんでここから逃げたの$

$.get('ajax_email_check.pl', { 'email': \$('#billemail').val() }

                                       ^^^^^

少なくとも、billemail要素 (入力?) から値を取得できなくなる可能性があります。

さらに重要なことに、引用符が一致していないため、JS 全体が無効です。

alert ("Billing email is '+data+'!");   // <-- Need double-quotes
                        ^^^    ^^^

それを修正して、より良い結果が得られるかどうかを確認してください。

于 2013-04-12T16:44:21.057 に答える