-1

我想将 JS 字符串“导出”到 PHP 处理脚本并匹配它们。当它们匹配时,我想通过一个简单的验证过程,如果验证成功,发送一封电子邮件。

从这个角度来看,这是我的代码到目前为止的样子:

我有大约 40 个 div,每个 div 代表一个项目。下面的 html 只是其中的一个示例

HTML

<div class="Post odd postStyles">
    <input class="cheap" data-mail="email@sample.com" name="option" type="radio">
    <article>
        <h6 class="casinoHeading">Grosvenor Casino Birmingham</h6>
        <p class="">84 Hill Street, Birmingham, B5 4AH</p>
    </article>
</div>

如您所见,我正在为要使用的字符串使用 html5 数据属性。

然后,我使用 Jquery data() 函数检索此字符串。

请看下面:

$("input").click(function(){
    var mail = $(this).data();
    console.log(mail);
})

不幸的是,这就是我迷路的地方。我希望能够将变量 mail 传递给一个 php 脚本,该脚本然后运行一个循环并找到正确的字符串。运行一些简单的验证,然后发送一封电子邮件。

这是我编写的 PHP 脚本:

<?php

    $emails = array(
        "email@sample.com", 
        "email@sample1.com", 
        "email@sample2.com", 
    );

    foreach($emails as $val) {
        print $val;
    }

    if(isset($_POST ['Name'], $_POST ['Telephone'], $_POST ['Position'], $_POST['Email'], $_POST ['Noparty'], $_POST ['Message'], $_POST ['Adress'], $_POST ['PostCode'], 
    $_POST ['Date'], $_POST ['Time'])) {
        var errors = array();
        $name = htmlentities(mysql_real_escape_string(strip_tags($_POST['Name'])));
        $telephone = htmlentities(mysql_real_escape_string(strip_tags($_POST['Telephone'])));
        $email = strip_tags(mysql_real_escape_string(htmlentities($_POST['Email'])));
        $position = strip_tags(mysql_real_escape_string(htmlentities($_POST['Position'])));
        $noparty = strip_tags(mysql_real_escape_string(htmlentities($_POST['Noparty'])));
        $message = mysql_real_escape_string(htmlentities(strip_tags($_POST['Message'])));
        $address = mysql_real_escape_string(htmlentities(strip_tags($_POST['Adress'])));
        $postcode = mysql_real_escape_string(htmlentities(strip_tags($_POST['PostCode'])));
        $date = mysql_real_escape_string(htmlentities(strip_tags($_POST['Date'])));
        $time = mysql_real_escape_string(htmlentities(strip_tags($_POST['Time'])));

        if(empty($name) || empty($telephone) || empty($email) || empty($position) || empty($noparty) || empty($message) || empty($address) || empty($postcode) || empty($date)
        empty($time)){
            $errors [] = "<span class='error'>Please fill in the required fields!</span>";
        }else{
            if(strlen($name)<=2 || strlen($name)>25){
                $errors [] = "<span class='error'>Sorry, username should be between 2 and 25 Charachters</span>";
            }
        }
        //If all runs through sucessfully - send email
    } 
?>

本质上,我希望能够将该变量发送到 PHP(可能带有 AJAX 请求),检查它,然后用它运行一些验证。

任何人都可以帮忙吗?

非常感激,

安东尼奥

4

1 回答 1

-1

抱歉,我真的不明白您的意思。您可以使用 $.post 发送表单,然后通过 PHP 返回 JSON 并显示错误或状态 OK。

您可以通过以下方式获取属性:

var mail;
$("input").click(function(){
   mail = $(this).val();
   if(!mail)
        mail = $(this).attr("data-mail"); 
});
$("#submit-button").on("click", function(e)
{
    e.preventDefault();
    $.post({});
});

您应该使用传统方式执行此操作:html 表单、隐藏输入和简单的提交按钮。

于 2013-06-07T13:57:13.520 回答