Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不刷新的情况下使用Ajax提交poMMo邮件列表表单?_Javascript_Forms_Jquery_Form Submit - Fatal编程技术网

Javascript 如何在不刷新的情况下使用Ajax提交poMMo邮件列表表单?

Javascript 如何在不刷新的情况下使用Ajax提交poMMo邮件列表表单?,javascript,forms,jquery,form-submit,Javascript,Forms,Jquery,Form Submit,我在这里搜索了实现这一点的方法,但只询问了简单的Ajax提交表单 <form action='_test.php' method='post' class='ajaxform'> <input type='text' name='txt' value='Enter e-mail address'> <input type='submit' value='submit'> </form> </head> <div id='tes

我在这里搜索了实现这一点的方法,但只询问了简单的Ajax提交表单

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
如果有人不熟悉poMMo,它是一个邮件列表管理软件,允许开发人员在网站上实现自定义表单,其唯一目的是收集邮件列表的电子邮件。是否可以将Ajax和poMMo表单合并在一起

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
我一直使用的代码是:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
test.php

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>

我会经常回来,回答任何问题,并为任何愿意帮助的人提供信息。请,谢谢你。:)

以下是我创建的代码:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
<form action="" name="signup">
<fieldset>
<legend>Subscribe</legend>
<div>
<label for="email"><strong>Your Email:</strong></label>
<input type="text" name="Email" id="email" maxlength="60" />
</div>
</fieldset>
<div id="buttons">
<input type="hidden" id="pommo_signup" name="pommo_signup" value="true" />
<input type="submit" class="button" value="Subscribe" />
</div>
</form>

// JavaScript Document
$(document).ready(function() {
$('.button').click(function() {
    var email = $("input#email").val();
    var pommo_signup = $("input#pommo_signup").val();

    var data = 'Email='+ email + '&pommo_signup='+ pommo_signup;

    $.ajax({
        type: 'POST',
        url: 'http://localhost/pommo/user/process.php',
        data: data,
        dataType: 'json',
        success: function(json){                
            if (!json.success){
                alert(json.errors);             
            } else { 
                $("form").html("<div id='message'></div>");
                $('#message').html('<h2>Subscription Received!')
                .append("<p>We will be in touch soon.</p>")
                .hide()
                .fadeIn(1500);
            }
        },
        error: function(json){
        }
    });
    return false;
});    
});
我通过调用位于/inc/classes/json.php中的json.php文件中的fail方法,将主要错误消息放在process.php的验证部分:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
/**********************************
VALIDATE INPUT
 *********************************/

if (empty ($_POST['pommo_signup']))
Pommo::redirect('login.php');

$subscriber = array(
'email' => $_POST['Email'],
'registered' => time(),
'ip' => $_SERVER['REMOTE_ADDR'],
'status' => 1,
'data' => @$_POST['d'],
);
// ** check for correct email syntax
if (!PommoHelper::isEmail($subscriber['email'])){
$json->fail(Pommo::_T('Invalid e-mail address. Please try again.'));
}
// ** check if email already exists in DB ("duplicates are bad..")
if (PommoHelper::isDupe($subscriber['email'])) {
$json->fail(Pommo::_T('Error the email already exists in the database.'));
}
最后,我将电子邮件发送给用户后的成功消息放在process.php的addsubscriber部分:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
如果订阅需要确认:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
    // send confirmation message.
    if (PommoHelperMessages::sendMessage(array('to' => $subscriber['email'], 'code' => $subscriber['pending_code'], 'type' => 'confirm'))) {
        $subscriber['registered'] = date("F j, Y, g:i a",$subscriber['registered']);
        if ($comments || isset($notices['pending']) && $notices['pending'] == 'on')
            PommoHelperMessages::notify($notices, $subscriber, 'pending', $comments);

        $json->success(Pommo::_T('Subscription request received.'));
        if ($config['site_confirm'])
            Pommo::redirect($config['site_confirm']);
    }
在这里也在这里,如果它不

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
else {

    // send/print welcome message
    PommoHelperMessages::sendMessage(array('to' => $subscriber['email'], 'type' => 'subscribe'));

    $subscriber['registered'] = date("F j, Y, g:i a",$subscriber['registered']);
    if ($comments || isset($notices['subscribe']) && $notices['subscribe'] == 'on')
        PommoHelperMessages::notify($notices, $subscriber, 'subscribe',$comments);

    $json->success(Pommo::_T('Subscription request received.'));

    // redirect
    if ($config['site_success'])
        Pommo::redirect($config['site_success']);
}
我最终没有使用success消息,但是,您需要运行success方法将其转换为true而不是false,否则json.success只能是false

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>

如果有帮助,请告诉我

以下是我创建的代码:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
<form action="" name="signup">
<fieldset>
<legend>Subscribe</legend>
<div>
<label for="email"><strong>Your Email:</strong></label>
<input type="text" name="Email" id="email" maxlength="60" />
</div>
</fieldset>
<div id="buttons">
<input type="hidden" id="pommo_signup" name="pommo_signup" value="true" />
<input type="submit" class="button" value="Subscribe" />
</div>
</form>

// JavaScript Document
$(document).ready(function() {
$('.button').click(function() {
    var email = $("input#email").val();
    var pommo_signup = $("input#pommo_signup").val();

    var data = 'Email='+ email + '&pommo_signup='+ pommo_signup;

    $.ajax({
        type: 'POST',
        url: 'http://localhost/pommo/user/process.php',
        data: data,
        dataType: 'json',
        success: function(json){                
            if (!json.success){
                alert(json.errors);             
            } else { 
                $("form").html("<div id='message'></div>");
                $('#message').html('<h2>Subscription Received!')
                .append("<p>We will be in touch soon.</p>")
                .hide()
                .fadeIn(1500);
            }
        },
        error: function(json){
        }
    });
    return false;
});    
});
我通过调用位于/inc/classes/json.php中的json.php文件中的fail方法,将主要错误消息放在process.php的验证部分:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
/**********************************
VALIDATE INPUT
 *********************************/

if (empty ($_POST['pommo_signup']))
Pommo::redirect('login.php');

$subscriber = array(
'email' => $_POST['Email'],
'registered' => time(),
'ip' => $_SERVER['REMOTE_ADDR'],
'status' => 1,
'data' => @$_POST['d'],
);
// ** check for correct email syntax
if (!PommoHelper::isEmail($subscriber['email'])){
$json->fail(Pommo::_T('Invalid e-mail address. Please try again.'));
}
// ** check if email already exists in DB ("duplicates are bad..")
if (PommoHelper::isDupe($subscriber['email'])) {
$json->fail(Pommo::_T('Error the email already exists in the database.'));
}
最后,我将电子邮件发送给用户后的成功消息放在process.php的addsubscriber部分:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
如果订阅需要确认:

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
    // send confirmation message.
    if (PommoHelperMessages::sendMessage(array('to' => $subscriber['email'], 'code' => $subscriber['pending_code'], 'type' => 'confirm'))) {
        $subscriber['registered'] = date("F j, Y, g:i a",$subscriber['registered']);
        if ($comments || isset($notices['pending']) && $notices['pending'] == 'on')
            PommoHelperMessages::notify($notices, $subscriber, 'pending', $comments);

        $json->success(Pommo::_T('Subscription request received.'));
        if ($config['site_confirm'])
            Pommo::redirect($config['site_confirm']);
    }
在这里也在这里,如果它不

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>
else {

    // send/print welcome message
    PommoHelperMessages::sendMessage(array('to' => $subscriber['email'], 'type' => 'subscribe'));

    $subscriber['registered'] = date("F j, Y, g:i a",$subscriber['registered']);
    if ($comments || isset($notices['subscribe']) && $notices['subscribe'] == 'on')
        PommoHelperMessages::notify($notices, $subscriber, 'subscribe',$comments);

    $json->success(Pommo::_T('Subscription request received.'));

    // redirect
    if ($config['site_success'])
        Pommo::redirect($config['site_success']);
}
我最终没有使用success消息,但是,您需要运行success方法将其转换为true而不是false,否则json.success只能是false

<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>

如果有帮助,请告诉我

谢谢查尔斯的回答。我在/inc/classes/json.php部分迷路了,您在该文件的哪里插入了if语句?你能提供一点背景吗?上一部分的注释相同,您在process.php的何处放置了$json->success。。。线路?谢谢我编辑了我的答案,以便让您更清楚地了解代码的放置位置。如果有帮助的话,谢谢查尔斯的回答。我在/inc/classes/json.php部分迷路了,您在该文件的哪里插入了if语句?你能提供一点背景吗?上一部分的注释相同,您在process.php的何处放置了$json->success。。。线路?谢谢我编辑了我的答案,以便让您更清楚地了解代码的放置位置。如果这对你有帮助的话,你能接受这个答案吗。谢谢:)如果这对你有效,你可以接受作为答案。谢谢:)
<form action='_test.php' method='post' class='ajaxform'>
<input type='text' name='txt' value='Enter e-mail address'>
<input type='submit' value='submit'>
</form>
</head>


<div id='testDiv'></div>