打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
different form depending on category [thedeadone.net Forums]
userphoto

2009.08.13

关注

I’m not sure you need “ajax” per say, but certainly javascript.

What I would have do is create a page template in your theme and inthis theme, create all the forms you wish to display dynamically usingthe template tags (i.e. tdomf_the_form(id of form)). Then use a bit ofjQuery magic to hide all of them except the one you’re interested in.

I did a small test and managed to get it to work using a pagetemplate. This is the code I added to switch dynamically between 4different forms depending on a radio button:

<?php if(function_exists('tdomf_the_form')){ ?>

<script type='text/javascript' src='<?php echo get_bloginfo('wpurl'); ?>/wp-includes/js/jquery/jquery.js'></script>

<style>
#tdomf_form1 { display: none; }
#tdomf_form2 { display: none; }
#tdomf_form3 { display: none; }
#tdomf_form4 { display: none; }
</style>

<script type="text/javascript">
//< ![CDATA[
function show_form(form_id){
switch(form_id) {
case 1:
jQuery('#tdomf_form2').css("display", "none");
jQuery('#tdomf_form3').css("display", "none");
jQuery('#tdomf_form4').css("display", "none");
jQuery('#tdomf_form1').css("display", "block");
break;
case 2:
jQuery('#tdomf_form1').css("display", "none");
jQuery('#tdomf_form3').css("display", "none");
jQuery('#tdomf_form4').css("display", "none");
jQuery('#tdomf_form2').css("display", "block");
break;
case 3:
jQuery('#tdomf_form1').css("display", "none");
jQuery('#tdomf_form2').css("display", "none");
jQuery('#tdomf_form4').css("display", "none");
jQuery('#tdomf_form3').css("display", "block");
break;
case 4:
jQuery('#tdomf_form1').css("display", "none");
jQuery('#tdomf_form2').css("display", "none");
jQuery('#tdomf_form3').css("display", "none");
jQuery('#tdomf_form4').css("display", "block");
break;
default:
alert("ERROR: show_form: Unknown Form ID");
break;
}
}
//-->
</script>

<?php if(tdomf_can_current_user_see_form(1)) { ?>
<input type="radio" name="dynamic_forms" id="dynamic_forms_1" onChange="show_form(1);">
<label for="dynamic_forms_1">Form 1</label><br/>
<?php } ?>

<?php if(tdomf_can_current_user_see_form(2)) { ?>
<input type="radio" name="dynamic_forms" id="dynamic_forms_2" onChange="show_form(2);">
<label for="dynamic_forms_2">Form 2</label><br/>
<?php } ?>

<?php if(tdomf_can_current_user_see_form(3)) { ?>
<input type="radio" name="dynamic_forms" id="dynamic_forms_3" onChange="show_form(3);">
<label for="dynamic_forms_3">Form 3</label><br/>
<?php } ?>

<?php if(tdomf_can_current_user_see_form(4)) { ?>
<input type="radio" name="dynamic_forms" id="dynamic_forms_4" onChange="show_form(4);">
<label for="dynamic_forms_4">Form 4</label><br/>
<?php } ?>

<?php if(tdomf_can_current_user_see_form(1)) tdomf_the_form(1); ?>
<?php if(tdomf_can_current_user_see_form(2)) tdomf_the_form(2); ?>
<?php if(tdomf_can_current_user_see_form(3)) tdomf_the_form(3); ?>
<?php if(tdomf_can_current_user_see_form(4)) tdomf_the_form(4); ?>

<?php } ?>

You should be able to use that as a base to do more funky things.The builtin jQuery in Wordpress 2.7 allows you to do some nice stuff,like fading in and out the form. And it seems to work fine with a mixof forms using AJAX or non-AJAX too.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
jquery显示、隐藏div
jquery 设置div 隐藏
jquery控制display属性为none或block的方法
JQuery无废话系列教程(三) 实战篇中
简单Jquery遮罩层
如何将jquery通过控制台注入到浏览器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服