2011-10-13 67 views
-1

如何用php处理表格& ajax?如何使用php&ajax处理表单?

HTML:

<form> 
<input type="radio" value="1" /> 
<input type="radio" value="2" /> 
<input type="radio" value="3" /> 
<input type="radio" value="4" /> 
<input type="button" id="go" value="go"/> 
</form> 

如何从收音机收藏价值,然后提交它在PHP $value='';并展示给用户点击按钮后#go这个值?

我想制作一个简单的表格。用户从表单中选择值,然后点击按钮。该值将立即显示给用户,并将添加到mysql数据库。

+0

你已经回答了你的问题:使用AJAX。最简单的方法是使用jQuery:http://api.jquery.com/jQuery.ajax/ –

+0

有几个AJAX库可以做到这一点,包括但不限于jQuery,prototype,Dojo和MooTools的。我建议你研究他们的API并使用你感觉最舒服的那个。顺便说一下,你真的应该给你的单选按钮命名,否则它们不会相互排斥,并符合[单选按钮上的W3C规范](http://www.w3.org/TR/)。 html4/interact/forms.html#radio),你应该将其中的一个设置为默认检查。 – megaflop

回答

3

对于HTML,不要忘记给单选按钮name属性。

<form id="form"> 
    <input type="radio" value="1" name="my_radio" /> 
    <input type="radio" value="2" name="my_radio" /> 
    <input type="radio" value="3" name="my_radio" /> 
    <input type="radio" value="4" name="my_radio" /> 
    <input type="button" id="go" value="go"/> 
</form> 

对于Javsacript,指定文件,而不是file.php

$('#form').submit(function(){ 
    $.post('file.php', { $(this).serialize() }, function(data) { 
    alert(data.radio_value); 
    }) 
}); 

对于PHP

if(isset($_POST['my_radio'])) 
{ 
    echo json_encode(array('radio_value' => $_POST['my_radio'])); 
} 
2

您需要为单选按钮设置名称。

<form id="foo"> 
<input type="radio" value="1" name="bar"/> 
<input type="radio" value="2" name="bar"/> 
<input type="radio" value="3" name="bar"/> 
<input type="radio" value="4" name="bar"/> 
<input type="button" id="go" value="go"/> 
</form> 

如果你可以使用jQuery,那么你可以使用此代码:

$('#go').click(function() { 
    $.post('script.php', $('#foo').serialize(), function(data) { 
     alert(data); 
    }); 
}); 

,并在PHP

<?php 
// connect to database 
$bar = mysql_real_escape_string($_POST['bar']); 
mysql_query("INSERT INTO table (bar) VALUES ('$bar')"); 
echo $bar; 
?> 
+0

但是,如果我有几个#foo(foo1,foo2,foo3)窗体,如何收集所有值并汇总它? (只有数字值) –

+0

为什么你想使用多个表单,如果你有一个提交?使用一种形式并将所有无线电和其他表单元素放入其中。如果你必须使用'$('#foo1,#foo2,#foo3')。serialize()',它将返回所有表单的值。 – jcubic