2013-07-22 52 views
0

我试图通过JavaScript发送数据通过窗体,但它不工作。任何想法为什么?JavaScript插入表单提交

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
<form method="get" action="test.php"> 
<input id="myvar" type="hidden" name="albumid" /> 

<button type="submit" id="btnsubmit">Submit</button> 
</form> 

<script type="text/javascript"> 
$("#btnsubmit").click(function(){  
    var album = '11'; 
    document.getElementById('myvar').value = album; 

    }); 
</script> 

test.php的

<?php echo $_GET["albumid"]; ?> 
+0

试试这个:'的document.getElementById( 'MYVAR') .setAttribute('value',album);' –

+0

你的代码是正确的。它在我身边工作。 – MACMAN

+0

将函数包装在'$(document).ready(function(){....});'' – CodeHunter

回答

0

有几个问题:

  1. 你在缺少http:src当加载jQuery库
  2. 既然你加载jQuery使用它$('#myvar').val(album);。查看更多关于val()

如此说来尝试

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

<form method="get" action="test.php"> 
    <input id="myvar" type="hidden" name="albumid" /> 
    <button type="submit" id="btnsubmit">Submit</button> 
</form> 

<script type="text/javascript"> 
    $('form').submit(function() {  
     var album = '11'; 
     $('#myvar').val(album); 
    }); 
</script> 
0

举一个id形成并提交表单

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
<form id="myform" method="get" action="test.php"> 
<input id="myvar" type="hidden" name="albumid" /> 

<button type="submit" id="btnsubmit">Submit</button> 
</form> 

<script type="text/javascript"> 
$("#btnsubmit").click(function(){  
    var album = '11'; 
    document.getElementById('myvar').value = album; 
    document.getElementById('myform').submit(); 

    }); 
</script> 
1

你需要停止默认操作上提交事件:

$("#btnsubmit").click(function(e){ 
    e.preventDefault(); 
    var album = '11'; 
    $('#myvar').val(album); 
});