使用javascript/jquery自动提交表单和检索表单数据

使用javascript/jquery自动提交表单和检索表单数据,javascript,jquery,forms,Javascript,Jquery,Forms,我希望创建一个使用单选按钮的表单,但只要单击单选按钮,它就会运行一个JavaScript函数,从表单中检索数据,并生成隐藏值 我想应该是这样,但我运气不好 <script type="text/javascript"> $(function submitFunction(formname) { $(".submit").onclick(function(formname) { var hiddenValue = document.

我希望创建一个使用单选按钮的表单,但只要单击单选按钮,它就会运行一个JavaScript函数,从表单中检索数据,并生成隐藏值

我想应该是这样,但我运气不好

<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>