0

我有一个带有两个单选按钮和一个提交按钮的表单,该按钮根据用户的选择指向一个特定的表单。我想使用 jQuery 在两个按钮之间进行切换,但我有点迷失了。

这是来自项目中另一个文件的我的javascript:

function goTo()
{

var yesButton = $('#yesRad');
var noButton = $('#noRad');

if (yesButton[0].checked) 
{
submitForm('yesForm') && noButton.Checked==false;


}
else  (noButton[1].checked)
{
submitForm('noForm') && yesButton.Checked==false;
}

在jsp里面我有以下代码:

<form:form action="interested" commandName="user" name="yesForm" id="yesForm">
    <input type="hidden"  name="state" value="<c:out value="${requestScope.state}"/>" />
    <input type="hidden"  id="address" name="address" value="${user.address}" />
    <input type="hidden"  name="mode" value="1" />
    <input type="radio"  name ="radio"id="yesRad" value="yesForm" checked="checked" />Yes<br>
</form:form>

<form:form action="notinterested" commandName="user" name="noForm" id="noForm">

    <input type="hidden"  name="state" value="<c:out value="${requestScope.state}"/>" />
    <input type="hidden"  id="address" name="address" value="${user.address}" />
    <input type="hidden"  name="mode" value="1" />
    <input type="radio" name="radio" id="noRad"  value="noForm" />No<br>
</form:form>

提交

<script>
    $("#yesRad").change(function(){
        var $input = $("#yesRad");
        var $inputb = $("#noRad");

        if($inputb.is(':checked'))
            $("#yesRad").prop("checked", false);
        else  if($input.is(':checked'))
            $("#yesRad").prop("checked",true) && $("#noRad").prop("checked",false);

});
</script>

我已经从我的 jQuery 中获得了一些功能,但它绝对不是正确的。我希望我的问题清楚而彻底。提前致谢!!

4

2 回答 2

1

首先,不要使用 prop,使用 attr。道具较慢。您已经定义了变量,所以我们不要再查找它们了。在您的 if/else 语句中,只需使用变量。我不完全确定你想用 && 做什么。我怀疑您正在尝试设置两个输入的值。如果是这样,它们应该是单独的语句。如果 inputb 被选中,则没有理由将其设置为选中,因此我们可以删除该部分。

您可能希望此更改在两个输入上触发。

$("#yesRad, #noRad").change(function(){
    var $input = $("#yesRad");
    var $inputb = $("#noRad");
    if($inputb.is(':checked')){
        $input.attr("checked", false);
    } else if($input.is(':checked')){
        $inputb.attr("checked",false);
    }
});
于 2013-01-14T19:53:28.007 回答
0

已解决:使用 javascript 并将单选按钮从单独的表单元素中取出。首先我们来看一下涉及到的JSP表单元素:

<form:form action="interested" commandName="user" name="yesForm" id="yesForm">
    <input type="hidden"  name="state" value="<c:out value="${requestScope.state}"/>" />
    <input type="hidden"  id="address" name="address" value="${user.address}" />

</form:form>

<form:form action="notinterested" commandName="user" name="noForm" id="noForm">
    <input type="hidden"  name="state" value="<c:out value="${requestScope.state}"/>" />
    <input type="hidden"  id="address" name="address" value="${user.address}" />

</form:form>

<input name="radio" type="radio" id="Yes" value="yes" />Yes<br>
<input name="radio" type="radio" id="No" value="no"/>No<br>

我在这里所做的只是将单选按钮从单独的表单中取出并将它们组合在一起......非常明显;现在让我们看一下javascript文件。

    function goHere()
    {
var yesButton = $('#Yes');
var noButton = $('#No');
var str ="Please select an option first then press the 'Submit' button";
if (yesButton[0].checked) 
{
    submitForm('yesForm');
}
else if (noButton[0].checked)
{
    submitForm('noForm');
}
else 
{
    document.write(str.fontcolor.font("red"));
}
    }

如您所见,函数“goHere();” 将根据用户在单选按钮上的选择告诉以下代码中的提交按钮我们想要去哪里。这是表单上提交按钮中来自我们的 javascript 函数的调用...

    <div class="button-panel" id="Submit"><span class="buttons buttons-left"></span>
<button type="button" class="buttons buttons-middle"  name="submitBtn"  onClick="goHere();">Submit</button>
<span class="buttons buttons-right"></span>


而已!!简单的说; 有时,虽然学习新东西是无价的,但如果它没有坏——等等。希望这对以后的人有所帮助!

于 2013-01-15T14:12:44.830 回答