刚学mvc有个问题不懂,mvc页面的提交按钮有两个js方法分别对页面的两个隐藏的hidden控件赋值。然后执行controller里的方法。
button按钮<button id="btnSave" type="submit"  style="width:5%; height: 30px; line-height:30px; display:none;  margin-left:40%;float: left;"onclick="javascript:saveAll();return changeDone(1)" >添加</button>两个hidden如下:
 <%=Html.HiddenFor(m => m.DONE, new { @id="txtdone"})%>
          <%=Html.HiddenFor(m => m.TableHtml, new { @id = "textend" })%>现在是点按钮一直不执行controller的方法。js返回的都为true。
这里有一个情形就是当我把<%=Html.HiddenFor(m => m.TableHtml, new { @id = "textend" })%>改成
<input type="hidden" id="textend" /> 点提交就执行controller里的方法。我不知道这是怎么回事!

解决方案 »

  1.   

    你可以看下页面里的<%=Html.HiddenFor(m => m.TableHtml, new { @id = "textend" })%> 运行后被转换成的html 是否正确 ,然后判断js是否正确执行
      

  2.   

    js是不可能返回false,因为我最后都加一个return true;
      

  3.   

    js代码:
      
    function saveAll() {
             var savehtml = document.getElementById("textend");
             savehtml.value = document.getElementById("DCB").innerHTML;
             return true;
         } 
    function changeDone(done) {
                if (checkForm()) {
                    document.getElementById("txtdone").value = done;
                    return true;
                }
                else {
                      return false;
                  } 
              }
      

  4.   

    这个问题解决不了,就用<input type="hidden" id="textend" /> 存值,那如何在controller方法获取这个控件的值?
      

  5.   

    这个问题解决不了,就用<input type="hidden" name ='txtend' id="textend" /> 存值,那如何在controller方法获取这个控件的值? controller:var v=request["textend"];前台button用<input type='submit' /> 注意在form下action要写对。
      

  6.   

    哥,给value了吗?<input type="hidden" name ='txtend' value="something" />