如何将HTML widget的值从HTML表单传递到eXist-db中的Xquery?

问题描述 投票:0回答:1

我的意思是,这个问题代表了之前请求中的一个具体问题的通用化。见相关问题 (这也是我敢于发出第二个帮助请求的原因)。我仍然找不到如何将html widget的值准确地传递给Xquery的问题的答案。

具体的widget是一个textarea,通过外部函数添加到html表格中(不是XForm!),其代码可以在上述相关问题中找到。所以,相关的html代码(一旦函数被执行)是这样的。

  <form method="post" action="query_update_notabene.xq">
        <textarea id="my_textarea">loaded_text</textarea>
    <br>        
    <table border="0">
        <tr>                
           <td>
                <input type="submit" value="Salva nota">
            </td>
            <td style="width: 20px;"></td>
           <td>
                <input type="reset">
            </td>
       </tr>
    </table>
  </form>

在我的 "query_update_notabene.xq "中,我根本无法得到与文本内容(新的或编辑的)相对应的textarea值,并将其保存到xml文件中。我已经尝试了所有我能想到的关于以下两种可能性的方法。

let $nota_text := request:get-parameter("my_textarea","")

let $nota_text := request:get-data()

但似乎没有任何效果,甚至没有类似的东西。

let $nota_text := request:get-data()/body/form/div[@id='main']/textarea[@id='my_textarea']/text()

谁能帮帮我?

谢谢你的帮助

亚历克斯

html forms xquery exist-db
1个回答
1
投票

由于我已经找到了解决方案,我自己回答。像往常一样,在编程中不能使用类比,必须完全精确! 错误在于这里用 "id "而不是 "name"。

<textarea id="my_textarea">loaded_text</textarea>

这意味着,回到Xquery的构造中,下面的:

<textarea id="my_textarea">{$my_content}</textarea> };

必须改成:

<textarea name="my_textarea">{$my_content}</textarea> };

这样一来,Xquery就可以简单的掌握textarea的内容了。

let $nota_text := request:get-parameter("my_textarea","")
© www.soinside.com 2019 - 2024. All rights reserved.