Javascript MVC框架中表单中的值未解析到控制器

Javascript MVC框架中表单中的值未解析到控制器,javascript,jquery,model-view-controller,Javascript,Jquery,Model View Controller,任务 我假设将在各自的表单字段中输入的值解析到controller-action.php中。并将值反映在action.php中的错误日志中,这是为了确保method=POST将正确的值从视图发布到控制器 问题 我最初能够在上面解析值,这反映在我的错误日志中。然而,由于未知的原因,现在解析的值的值是错误的。这意味着,如果我选择“其他人”并在我的字段中输入,错误日志中反映的解析值将显示机构3的详细信息,或者如果我未正确选择“机构1”,则机构1的值应在错误日志中过账,但过账的值是来自机构3的值 我很困

任务

我假设将在各自的表单字段中输入的值解析到controller-action.php中。并将值反映在action.php中的错误日志中,这是为了确保
method=POST
将正确的值从视图发布到控制器

问题 我最初能够在上面解析值,这反映在我的错误日志中。然而,由于未知的原因,现在解析的值的值是错误的。这意味着,如果我选择“其他人”并在我的字段中输入,错误日志中反映的解析值将显示机构3的详细信息,或者如果我未正确选择“机构1”,则机构1的值应在错误日志中过账,但过账的值是来自机构3的值

我很困惑,因为我尝试了其他字段值,它能够正确地解析

谁能帮帮我吗

代码

视图中的表单字段:

<form name="form_Agent" id="form_Agent" method="POST" action="action.php" onsubmit="return checkForm(this)">

<li class="bigfield">

                    <select name ="AgencyDetails" id="AgencyDetails" onchange = "return val(this.value);">
                    <option value ="0" selected = "selected"> ..</option>
                    ....
                    </select>
            </li>

<!--: when user select "Others"-->
            <div id = "extradiv" style ="display:none">

                ...
             </div>

             <!--: when user select other options other than "Others"-->
            <div  id = "Agency1" style ="display:none">
           ....</div>

</form>
<!--: Set Conditional check, if user clicks Others, direct to additional input field: Agent Name, Agency Registration Number, Agency Address if click Agency 1 or 2 or 3, to display value-->
<script>
function val(x) {
.....
}

</script>
错误日志结果

2015-09-08 _-mobile: 
2015-09-08 _-mobile: 

我忽略了一个简单的语法错误,“name”和“id”对于每个额外的div都是相同的。因此,html倾向于查看最新的标记输入。我为解决以下问题所做的是为每个div分配不同的“name”和“id”。因此如下所示:

<div id = "extradiv" style ="display:none">

            <li class="bigfield"><input placeholder="Agency Name" type="text" name="agencyOthersName" id="agencyOthersName"/></li>
        <li class="bigfield"><input placeholder="Agency Registration Num" type="text" name="agentOthersRegistrationNum" id="agentOthersRegistrationNum"/></li>
        <li class="bigfield"><input placeholder="Agency Address" type="text" name="agentOthersAddress" id="agentOthersAddress"/></li>

         </div>

         <!--: when user select other options other than "Others"-->
        <div  id = "Agency1" style ="display:none">
       <li class="bigfield"><input value="Agency Name 1" type="text" name="agency1Name" id="agency1Name"/></li>
        <li class="bigfield"><input value="Agency Registration Num 1" type="text" name="agent1RegistrationNum" id="agent1RegistrationNum"/></li>
        <li class="bigfield"><input value="Agency Address 1" type="text" name="agent1Address" id="agent1Address"/></li>

         </div>

         <div  id = "Agency2" style ="display:none" >
       <li class="bigfield"><input value="Agency Name 2" type="text" name="agency2Name" id="agency2Name"/></li>
        <li class="bigfield"><input value="Agency Registration Num 2" type="text" name="agent2RegistrationNum" id="agent2RegistrationNum"/></li>
        <li class="bigfield"><input value="Agency Address 2" type="text" name="agent2Address" id="agent2Address"/></li></div>


  • 我忽略了一个简单的语法错误,“name”和“id”对于每个额外的div都是相同的。因此,html倾向于查看最新的标记输入。我为解决以下问题所做的是为每个div分配不同的“name”和“id”。因此如下所示:

    <div id = "extradiv" style ="display:none">
    
                <li class="bigfield"><input placeholder="Agency Name" type="text" name="agencyOthersName" id="agencyOthersName"/></li>
            <li class="bigfield"><input placeholder="Agency Registration Num" type="text" name="agentOthersRegistrationNum" id="agentOthersRegistrationNum"/></li>
            <li class="bigfield"><input placeholder="Agency Address" type="text" name="agentOthersAddress" id="agentOthersAddress"/></li>
    
             </div>
    
             <!--: when user select other options other than "Others"-->
            <div  id = "Agency1" style ="display:none">
           <li class="bigfield"><input value="Agency Name 1" type="text" name="agency1Name" id="agency1Name"/></li>
            <li class="bigfield"><input value="Agency Registration Num 1" type="text" name="agent1RegistrationNum" id="agent1RegistrationNum"/></li>
            <li class="bigfield"><input value="Agency Address 1" type="text" name="agent1Address" id="agent1Address"/></li>
    
             </div>
    
             <div  id = "Agency2" style ="display:none" >
           <li class="bigfield"><input value="Agency Name 2" type="text" name="agency2Name" id="agency2Name"/></li>
            <li class="bigfield"><input value="Agency Registration Num 2" type="text" name="agent2RegistrationNum" id="agent2RegistrationNum"/></li>
            <li class="bigfield"><input value="Agency Address 2" type="text" name="agent2Address" id="agent2Address"/></li></div>
    
    
    

  • 我认为问题在于您正在传递3个同名值您是否只传递了一个值??这并不意味着隐藏值将不会传递到服务器:)@MuhammadUsman请稍等,我正在单独测试。我会及时通知你的outcome@MuhammadUsman你所说的隐藏值不会传递给服务器是什么意思?意味着其他值也会传递给服务器:)别误会:)我想问题是你传递了3个同名的值你是否只传递了一个值??这并不意味着隐藏值不会传递给服务器:)@MuhammadUsman给我一点时间,我正在单独测试。我会及时通知你的outcome@MuhammadUsman您所说的隐藏值不会传递到服务器是什么意思?表示其他值也会传递到服务器:)请不要误会:)