我目前在我的WP网站(www.nmvolunteer.org)上安装了Participant的数据库插件。它非常适合在后端组织我的志愿者。现在,我安装了WPMU的电子通讯插件,这样我就可以通过电子邮件向所有志愿者发送新闻和事件等。
我已经能够将参与者数据库中的电子邮件作为成员导出到我的电子通讯中,但我不希望每次有人注册时都这样做。我了解到电子通讯插件会自动将新网站用户添加到新闻通讯中,但我正在使用的参与者数据库表单并未将我的志愿者添加为网站用户。有没有办法改变我的表格,以便它也会自动将我的志愿者添加为网站用户?
当询问PD插件开发人员时,他的回答是,“你可以使用javascript在提交表单时注册用户。你需要设置一个AJAX回调,然后该回调将获取所需的用户数据和寄存器在你的表单页面上,AJAX中断了提交,因此它可以抓取它的数据并执行回调,然后允许继续提交,用户向插件数据库注册。所有这些都非常简单,使用jQuery。 “
我的问题是我不知道如何做到这一切,因为我在jQuery等方面毫无头绪。有人能引导我完成整个过程吗?或者有没有人有更简单的方法来完成我想要做的事情?这是我的表单的代码:
<script type="text/javascript">
var fieldstocheck = new Array();
fieldnames = new Array();
function checkform() {
for (i=0;i<fieldstocheck.length;i++) {
if (eval("document.subscribeform.elements['"+fieldstocheck[i]+"'].value") == "") {
alert("Please enter your "+fieldnames[i]);
eval("document.subscribeform.elements['"+fieldstocheck[i]+"'].focus()");
return false;
}
}
return true;
}
function addFieldToCheck(value,name) {
fieldstocheck[fieldstocheck.length] = value;
fieldnames[fieldnames.length] = name;
}
addfieldtocheck("first_name","first name");
addfieldtocheck("city","city");
addfieldtocheck("last_name","last name");
addfieldtocheck("email","email address");
addfieldtocheck("phone","phone number");
</script>
<form enctype="multipart/form-data" method="post">
<input type="hidden" value="signup" name="action"></input>
<input type="hidden" value="participants-database" name="subsource"></input>
<input type="hidden" value="?page_id=70" name="shortcode_page"></input><input type="hidden" value="http://nmvolunteer.org/?page_id=78" name="thanks_page"></input>
<input size="10" id="volformleft" type="text" name="first_name" value="first name" onfocus="if (this.value=='first name') this.value='';" onblur="if(this.value == ''){this.value='first name';}">
<input size="10" id="volform" type="text" name="last_name" value="last name" onfocus="if (this.value=='last name') this.value='';" onblur="if(this.value == ''){this.value='last name';}">
<input size="23" id="volform" type="text" name="email" value="email" onfocus="if (this.value=='email') this.value='';" onblur="if(this.value == ''){this.value='email';}">
<input size="12" id="volform" type="text" name="phone" value="phone" onfocus="if (this.value=='phone') this.value='';" onblur="if(this.value == ''){this.value='phone';}">
<input size="12" id="volformright" type="text" name="city" value="city" onfocus="if (this.value=='city') this.value='';" onblur="if(this.value == ''){this.value='city';}">
<input type="hidden" name="submit" value="volunteer" />
<input id="volformsubmit" type="submit" name="submit" value="volunteer" onclick="return checkform();">
</form>