我有这样的事情:
form.innerHTML='<form name="reg" >
Register:<br/>User Name: <input name="un"><br/>
Password: <input name="pw" type="password"><br/>
E-mail: <input type="email" name="email" ><br/>
Sex:<br/><input type="radio" id="sxf" name="sex" value="f"> <label for = "sxf">Female</label><br/>
<input type="radio" id="sxm" name="sex" value="m" checked = "checked" >
<label for = "sxm">Male</label><br/>
<input type="button" value="Register" onClick="accnew()">
</form>';
但是,当我将表单发送到MYSQL时,所有表单都返回了&#34; f&#34;,但是它们有不同的价值,不是吗?当我用js提醒它时,它也给了我所有的&#34; f&#34; s
编辑: accnew()js方法:
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{..................
xmlhttp.open("GET","new_acc.php?un="+un+"&pw="+pw+"&email="+em+"&group1="+$('[name=sex]').val(),true);
xmlhttp.send();
只是一个xmlHTTPrequest。我试图使用jquery,但它没有工作
答案 0 :(得分:1)
使用$('[name = sex]')。val()jquery返回第一个找到的对象并提供选择器;所以你还有'f'作为返回值
您必须通过添加':checked'(请参阅http://api.jquery.com/checked-selector/)选择器来更改您的选择器:
$('input:checked[name="sex"]').val()
鸭
答案 1 :(得分:-1)
输出代码的XHTML存在一些问题。 (请注意,我假设您打算将输出设置为XHTML,因为您的中断标记被编码为<br/>
。)
所以,尝试这样的事情......
form.innerHTML='<form name="reg" action="page.html" method="get">Register:<br/>User Name: <input name="un" /><br/>Password: <input name="pw" type="password" /><br/>E-mail: <input type="text" name="email" /><br/> Sex:<br/><input type="radio" id="sxf" name="sex" value="f" /><label for="sxf">Female</label><br/><input type="radio" id="sxm" name="sex" value="m" checked="checked" /><label for="sxm">Male</label><br/><input type="submit" value="Register" /> </form>';
答案 2 :(得分:-1)
正如Shikyo建议的那样,你是在标签的HTML中插入一个标签,所以它应该是这样的:
<form>
<form name="reg" >Register:
当然这不起作用,您应该获取包含表单的父标记,然后执行:
parent_of_form.innerHTML='
<form name="reg" method="POST" action="somewhere.php" onsubmit="return accnew()">
Register:<br/>
User Name: <input name="un"/><br/>
Password: <input name="pw" type="password"/><br/>
E-mail: <input type="email" name="email" /><br/>
Sex:<br/>
<input type="radio" id="sxf" name="sex" value="f"/> Female<br/>
<input type="radio" id="sxm" name="sex" value="m" CHECKED/>Male<br/>
<input type="submit" value="Register"/>
</form>';
我在这里更改了一些标签:
1-我假设您要使用accnew()函数验证表单,因此我将“onsubmit”添加到表单并将“注册”按钮更改为“提交”按钮。这将确保您在提交表单之前使用accnew()函数返回'true'。
2-标签标签并不是真的需要,所以我删除了它们,但如果你想让它们保持良好状态。
3- checked =“checked”不起作用,你必须将CHECKED添加到输入标签的末尾。