Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript按钮不更新文本框的html值_Javascript_Html_Model View Controller_Textbox - Fatal编程技术网

javascript按钮不更新文本框的html值

javascript按钮不更新文本框的html值,javascript,html,model-view-controller,textbox,Javascript,Html,Model View Controller,Textbox,我对JS还是相当陌生,在更新文本框的值以便将值传递给MVC模型时遇到了一个问题。目前代码是半工作的,我的意思是,当您单击按钮时,它会更新文本,但不会更新值,因此会将不正确的值传递给我的模型。希望我不会把这件事搞得一团糟代码的HTML部分如下所示: <tbody> <tr class="manageItems-spacer" /> <tr> <td> @H

我对JS还是相当陌生,在更新文本框的值以便将值传递给MVC模型时遇到了一个问题。目前代码是半工作的,我的意思是,当您单击按钮时,它会更新文本,但不会更新值,因此会将不正确的值传递给我的模型。希望我不会把这件事搞得一团糟代码的HTML部分如下所示:

    <tbody>
        <tr class="manageItems-spacer" />
        <tr>
            <td>
                @Html.LabelFor(x => x.DefaultItem)
                @if(Model.DefaultItem != null)
                { 
                    @Html.TbbTextBoxFor(x => x.DefaultItem, new { disabled = "disabled" })
                    @Html.HiddenFor(x => x.DefaultItem);
                }
            </td>
        </tr>
        <tr>
            <td>
                @Html.ListBox("AssignedItems", new MultiSelectList(Model.Items, "Id", "FriendlyDisplay"), new { @size = 5 })
            </td>
        </tr>
        <tr>
            <td>
                <button type="button" onclick="javascript:editItem.setDefault()")>Set Default</button>
            </td>
        </tr>
    </tbody>
为了将值从HTML视图传递到控制器,我必须在HTML中添加HiddenFor代码,否则它将传递空值。我在搜索网络后尝试过的其他方法是添加.innerHTML来更新值,但它也不起作用。我还发现有帖子说要添加window.onload,但我也没能让它正常工作

在此问题上的任何帮助都将不胜感激


谢谢您解决方案:删除禁用并将其更改为只读,我现在可以设置值。

1)显示实际的HTML,而不是.NET代码-这是客户端问题。您的服务器端代码与此无关。2) 您永远不需要在事件处理程序中指定
javascript:
<table class="manageItems">
    <thead>
        <tr>
            <th>Items</th>
        </tr>
    </thead>
    <tbody>
        <tr class="manageItems-spacer" />
        <tr>
            <td>

                <label for="DefaultItem">Default Item</label>
        <input disabled="disabled" id="DefaultItem" name="DefaultItem" type="text" value="1234" />
        <input id="DefaultItem" name="DefaultItem" type="hidden" value="1234" />                
    </td>
        </tr>
        <tr>
            <td>
                <select id="AssignedItems" multiple="multiple" name="AssignedItems" size="5">
            <option value="1">8526</option>
            <option value="2">1234</option>
            <option value="11">9988565</option>
        </select>
                <span class="field-validation-valid" data-valmsg-for="AssignedItems" data-valmsg-replace="true"></span>
            </td>
        </tr>
        <tr>
            <td>
                <button type="button" onclick="javascript:editUser.setDefault()" >Set Default</button>
            </td>
        </tr>
    </tbody>
</table>
this.setDefault = function () {
    var selectedItem = $("#AssignedItems option:selected").text();

    document.getElementById("DefaultItem").innerHTML = selectedItem;
    document.getElementById("DefaultItem").value = selectedItem;
};