0

我们正在使用 javascript/typescript 并且无法从DevExtreme (Typescript) ProjectdxTextArea中传递“输入的文本” 。

我们正在使用:

 <div id="myTextArea" data-bind="dxTextArea: {showClearButton: true,value: 'MyTests'}" ></div>

 <div  data-bind="dxButton: { text: 'Save text' }" onclick="saveMyData(document.getElementById('myTextArea').innerText)"></div> 

将函数“saveMyData”定义为:

<script>
function saveMyData(myData)
{
alert("text is "+myData.innerText);
mytext.innerText += myData.innerText;
}
</script>

但是,警报仅包含

文字是


我们也尝试过textContent,但得到了相同的结果。

有人知道为什么会这样吗?

屏幕上没有错误,所以我们认为这不是声明错误。

(注意,出于演示目的,此代码已被简化)。


以下是“最有用/最详细”文档的链接:

链接到 dxTextArea 文档

请随时要求澄清/详细信息,因为我知道我很不擅长“在纸上”解释自己。我会发布一个小提琴,只是它不/不会识别dxTextAreanor dxButton,太没用了!

编辑

按照建议使用 innerHTML 给出:

在此处输入图像描述

4

2 回答 2

1

您可以获取 dxTextArea 小部件的实例并获取选项的值value

见小提琴:http: //jsfiddle.net/tabalinas/c4dmsmeL/2/

<div id="textArea" data-bind="dxTextArea: { value: 'My value' }"></div>
<div data-bind="dxButton: { clickAction: buttonClick, text: 'Get value' }"></div>

var vm = {
    buttonClick: function() {
        var val = $("#textArea").dxTextArea("instance").option("value");
        alert(val);
    }
};

ko.applyBindings(vm);

但最好在绑定到valuedxTextArea 选项的视图模型中使用 ko.observable

见小提琴:http: //jsfiddle.net/tabalinas/c4dmsmeL/

<div data-bind="dxTextArea: { value: textAreaValue }"></div>
Text entered: <span data-bind="text: textAreaValue">

var vm = {
    textAreaValue: ko.observable("My value")
};

ko.applyBindings(vm);

如果您想使用小部件胆量,可以执行以下操作:http: //jsfiddle.net/tabalinas/c4dmsmeL/3/

<div id="textArea" data-bind="dxTextArea: { value: 'My Value' }"></div>
<button id="getValue">Get value</button>


ko.applyBindings();

$("#getValue").click(function() {
    alert($("#textArea").find("textarea").val());
});

但我认为没有任何理由以更清洁的方法采取这种方式。

于 2014-09-17T19:53:59.920 回答
0
<div
    id="myTextArea"
    data-bind="dxTextArea: {showClearButton: true,value: 'MyTests'}">
    CONTENT
</div>
 <div
    data-bind="dxButton: { text: 'Save text' }"
    onclick="saveMyData('myTextArea')">TEXT TO CLICK
 </div>

<script>
    function saveMyData(objID) {
        if (obj = document.getElementById(objID))
        {
            alert(obj.innerHTML);
            obj.innerHTML = obj.innerHTML + " MORE TEXT.. ";
        } else
        {
            alert("Object with ID " + objID + " not found");
        }
    }
</script>

也许这可以帮助你: http: //www.devexpress.com/Support/Center/Question/Details/Q461148

于 2014-09-17T08:55:50.227 回答