2015-07-21 255 views
0
<form id="myform"><label for="name">Username:</label> 
<input type="text" id="username" name="username"> 
<button id= "btnsub" onclick="registerUser();">Register</button></form> 
<script> 
var url="http://localhost/rrrr/register.php?username="+ username; 
var username ;  
function registerUser() 
{ 
      document.getElementById("myform").action=url; 
      alert("btn click") ; 
      alert(username+''); 
} 
</script> 

我试过上面的代码,按钮单击显示警告框为undefined是什么问题?在HTML中提交表单数据并发送到服务器

+0

'username'的值是多少?你在哪里定义了这个变量? –

+0

对不起,我定义了,但忘了在这里提到 –

+0

'用户名'的值? –

回答

0

如果您直接使用用户名,它将被视为未定义的JavaScript变量。获取用户名输入元素的值。

你有这样

var username = document.getElementById('username').value; 
var url="http://localhost/rrrr/register.php?username="+ username; 

function registerUser() 
{ 
      document.getElementById("myform").action=url; 
      alert("btn click") ; 
      alert(username+''); 
} 

使用提交表格,您可以像这样

document.getElementById("myform").submit(); 

试试这个

<form><label for="name">Username:</label> 
<input type="text" id="username" name="username"> 
<script> 
var username = document.getElementById('username').value; 
var url="http://localhost/rrrr/register.php?username="+ username; 

function registerUser() 
{ 
      document.getElementById("myform").action=url; 
      alert("btn click") ; 
      alert(username+''); 
document.getElementById("myform").submit(); 
} 
</script> 
<button id= "btnsub" onclick="registerUser();">Register</button></form> 
+0

我以前试过但它没有工作 –

+0

使用头 – Raghavendra

+0

中的脚本你必须在使用它之前定义函数 – Raghavendra

0

您需要定义表单标签ID来追加动作,并通过ID获取“用户名”以追加到url中

<form><label for="name">Username:</label> 
<input type="text" id="username" name="username"> 
<button id= "btnsub" onclick="registerUser();">Register</button></form> 
<script> 
var username= document.getElementById("username").value; 
var url="http://localhost/rrrr/register.php?username="+ username; 

function registerUser() 
{ 
      document.getElementById("myform").action=url; 
      alert("btn click") ; 
      alert(username+''); 
} 
</script> 
+0

是的,我做了同样的事情 –

+0

使用这个$('#myform')。attr('action',url);代替这个document.getElementById(“myform”)。action = url; – NaveenG

+0

我发现上面thnx的解决方案的建议,但1问题是它仍然警报未定义,但后“提交表单”它重定向到服务器并保存值,但在客户端它显示服务器页面为什么?如何避免服务器的页面不显示在客户端 –

0

试试这个。获取当前值username

代码片段:

function registerUser() 
 
{ 
 
    var username = document.getElementById('username').value; 
 
    var url="http://localhost/rrrr/register.php?username="+ username; 
 
    //document.getElementById("myform").action=url; 
 
    alert("btn click") ; 
 
    alert(username); 
 
}
<form><label for="name">Username:</label> 
 
    <input type="text" id="username" name="username"/> 
 
<button id= "btnsub" onclick="registerUser();">Register</button></form>

因为如果你定义usernameurl功能之外,这将是唯一持有加载时间值,并不能单击按钮时不会被改变。

+0

每当我使用'var username = document.getElementById('username').value;'这段代码将删除输入字段的所有数据并保持在同一页面上 –

+0

请发布一个可以重现问题的小提琴。 –

+0

主要问题是它没有重定向到服务器,现在它成功地将我的数据保存在服务器端,我使用这个document.getElementById(“myform”)。submit();仍然显示未定义,但不是问题..因为它保存了上面回复建议的数据库中的必填字段现在的问题是,“提交表单”重定向到服务器并保存值,但在客户端显示服务器页面为什么?如何避免服务器的页面不显示在客户端 –

相关问题