使用javascript/jquery自动提交表单和检索表单数据
我希望创建一个使用单选按钮的表单,但只要单击单选按钮,它就会运行一个JavaScript函数,从表单中检索数据,并生成隐藏值 我想应该是这样,但我运气不好使用javascript/jquery自动提交表单和检索表单数据,javascript,jquery,forms,Javascript,Jquery,Forms,我希望创建一个使用单选按钮的表单,但只要单击单选按钮,它就会运行一个JavaScript函数,从表单中检索数据,并生成隐藏值 我想应该是这样,但我运气不好 <script type="text/javascript"> $(function submitFunction(formname) { $(".submit").onclick(function(formname) { var hiddenValue = document.
<script type="text/javascript">
$(function submitFunction(formname) {
$(".submit").onclick(function(formname) {
var hiddenValue = document.formname.hidden_value.value;
var vote = document.formname.vote.value;
var dataString = 'vote=' + vote + 'hiddenValue=' + hiddenValue;
alert(dataString);
});
});
</script>
<form action="post" name="form1" >
<input type=hidden name='hidden_value' value='12345'>
<input type='radio' name='vote' value='yes' onclick='submitFunction(form1)';>Yes <br/>
<input type='radio' name='vote' value='no' onclick='submitFunction(form1)';>No
</form>
HTML:
<form action="post" name="form1" >
<input type=hidden name='hidden_value' value='12345' />
<input class="liveRadio1" type='radio' name='vote' value='yes' />Yes <br/>
<input class="liveRadio1" type='radio' name='vote' value='no' />No
</form>
是
不
您不必将其传递给form1
onclick='submitFunction(form1)';
因为您正在提交中访问它。尽管我认为在另一个函数中使用submit函数可能会把事情搞砸,因为当你点击单选按钮时,你没有按下submit,所以submitFunction中的函数永远不会触发 问题在于创建函数的方式,正确的
<script type="text/javascript" >
function submitFunction(formname) {
$('#' + formname).submit();
}
</script>
<form action="post" id="form1" >
<input type=hidden name='hidden_value' value='12345'>
<input type='radio' name='vote' value='yes' onclick='submitFunction('form1')';>Yes <br/>
<input type='radio' name='vote' value='no' onclick='submitFunction('form1')';>No
</form>
函数submitFunction(formname){
$('#'+formname).submit();
}
是
不
保持简单;不要使用onclick
,发布的代码也不需要submitFunction
。这应该有效:
<script type="text/javascript" >
$("input.liveRadio1").click (function () {
var jThis = $(this);
var hiddenValue = jThis.siblings ('input[name="hidden_value"]').val ();
var vote = jThis.val ();
var dataString = 'vote=' + vote + 'hiddenValue=' + hiddenValue;
alert(dataString);
});
</script>
<form action="post" name="form1" >
<input type=hidden name='hidden_value' value='12345'>
<input class="liveRadio1" type='radio' name='vote' value='yes'>Yes <br/>
<input class="liveRadio1" type='radio' name='vote' value='no'>No
</form>
您正在将onclick处理程序附加到任何具有“submit”类的对象,但html中没有任何对象具有submit类。:)嘿,谢谢你回复我。它在JSFIDLE上工作得很好,但当我将其放入自己的文件中时,就没有运气了。有什么想法吗?我已经在我的原始帖子中提出了代码。提前谢谢。@JWH89,请参阅我在上面的答案中添加的额外部分。
<script type="text/javascript" >
$("input.liveRadio1").click (function () {
var jThis = $(this);
var hiddenValue = jThis.siblings ('input[name="hidden_value"]').val ();
var vote = jThis.val ();
var dataString = 'vote=' + vote + 'hiddenValue=' + hiddenValue;
alert(dataString);
});
</script>
<form action="post" name="form1" >
<input type=hidden name='hidden_value' value='12345'>
<input class="liveRadio1" type='radio' name='vote' value='yes'>Yes <br/>
<input class="liveRadio1" type='radio' name='vote' value='no'>No
</form>
<script type="text/javascript">
function jQueryMain ()
{
$("input.liveRadio1").click(function() {
var jThis = $(this);
var hiddenValue = jThis.siblings('input[name="hidden_value"]').val();
var vote = jThis.val();
var dataString = 'vote= ' + vote + ', hiddenValue= ' + hiddenValue;
alert(dataString);
});
}
$(document).ready (jQueryMain);
</script>