Get the radio value without refreshing the page
本问题已经有最佳答案,请猛点这里访问。
我想制作一个表单,在MySQL数据库中发送反馈(好/一般/差),而不加载我所在的页面。它工作得很好,只是它不能识别我发送的wich值(如果发送的值是好的、平均的或差的)。
这里是我的表格:
1 2 3 4 5 6 7 8 9 10 11 | <form method="post" id="radio_fb" style="margin-top:-90px;"> <p> <input type="radio" name="radios" id="poor" value="poor" /><label for="poor">Poor</label> <input type="radio" name="radios" id="average" value="average" checked="checked" /><label for="average">Average</label> <input type="radio" name="radios" id="good" value="good" /><label for="good">Good</label> <input type="hidden" name="url" value="<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>"/> <input type="submit" name="submitter" value="Send" id="submit" /> </p> </form> |
这是我的jquery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | jQuery(document).ready(function($) { $("#radio_fb").submit(function() { cname = this.radios.value; curl = this.url.value; submitter = this.submitter; var data = { name: cname, url: curl }; $.post("ajax.php", data, function() { submitter.value="Sent"; submitter.disabled=true; }); return false; }); }); |
号
下面是将值存储在数据库中的函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php include_once('config.php'); if ($_POST['radios'] == 'good') { $url = $_POST['url']; $bdd->exec('INSERT INTO feedback(id, url, avis) VALUES ("","'. $url .'","Good")'); } else if ($_POST['radios'] == 'average') { $url = $_POST['url']; $bdd->exec('INSERT INTO feedback(id, url, avis) VALUES ("","'. $url .'","Average")'); } else { $url = $_POST['url']; $bdd->exec('INSERT INTO feedback(id, url, avis) VALUES ("","'. $url .'","Poor")'); } ?> |
知道怎么解决这个问题吗?我查看了所有的答案,但没有任何工作:我的函数不断返回else语句(如果我删除了它,则不会返回任何内容)。
尝试如下操作:var cname=$('input:radio[name=radios]:checked').val();