簡體   English   中英

使用 javascript 彈出窗口對時事通訊注冊進行表單驗證

[英]form validation for newsletter signup with javascript popup

我的主頁上有以下代碼供人們注冊時事通訊 - email 地址被輸入到 newsletter_emails 表中,然后單擊 GO 按鈕會出現一個謝謝彈出窗口。

 Email:  <input type="text" name="email" value="" id="email" />

        <input type="button" name="submit" onclick="submit_me()" value="GO" />

        <script type="text/javascript" charset="utf-8">

            function submit_me() {

                var email_value = $('#email').val();

                $.post("ajax_subscribe.php", { email: email_value }, function(response) {

                    if (response!='') {alert(response)};
                    alert('Thank You !');

                });

            }

email插入數據庫的頁面(ajax_subcribe.php)如下:

    <?php 
    $host = "xxxx";
    $user = "xxxx";
    $password = "xxxx";
    $database = "xxxx";
    $server = mysql_connect($host, $user, $password);
    $connection = mysql_select_db($database, $server);

    function sql_quote($value) {
        $value = str_replace('<?','',$value);
        $value = str_replace('script','',$value);   
        if (get_magic_quotes_gpc()) {
            $value = stripslashes($value);
        }
        if (!is_numeric($value)) {
            $value = "'" . mysql_real_escape_string($value) . "'";
        } else {
            if ((string)$value[0] == '0') {
                $value = "'" . mysql_real_escape_string($value) . "'";
        }}
        return $value;
    }
    $q = "INSERT INTO newsletter_emails (email,category) VALUES (".sql_quote($_POST['email']).",'1')";

    mysql_query($q);

?>

雖然這一切都很好,但 ajax_subscribe 頁面上沒有驗證 - 我在我網站的另一部分有以下 javascript。

    <script type="text/javascript">
function validate(form_id,email) {

   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {

      alert('Invalid Email Address');
      return false;
   }
}
</script>

我想將此類驗證合並到此時事通訊表單中,以便在單擊 Go 按鈕時,會出現“謝謝”彈出窗口或“無效電子郵件”彈出窗口。 出於某種原因,即使我輸入表單 id="form_id" 等,我也無法讓它工作。我基本上已經能夠一邊工作一邊或其他工作,但不能同時工作!

任何建議都非常感謝JD

在你的表單中使用類似的東西來調用你的 JS 驗證代碼

 <form method="GET" action="javascript:Validate(id)">

為此,您的 JS 應始終返回 false。 使用 JS 位置重定向成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM