如何防止SAP BSP向整数变量添加空格?

时间:2013-10-31 22:51:17

标签: html sap abap sap-bsp

背景

我正在对现有的自定义BSP页面进行一些更改,以提高Windows RT平板电脑的可用性。

我被要求更改输入字段(当前为type="text"),以便当有人开始键入值时,数字键盘会出现,而不是全键盘。通过将输入字段类型更改为type="number"

可以轻松实现此目的

我的问题

刷新页面后,(由于排序,从下一页退出等)。用作输入字段中的值的整数字段将返回,并附加一个额外的空格:

我的代码

data: lv_qty type i value 3.

<tr>
  <td><%=lv_field1%></td>
  <td><%=lv_fieldn%></td>
  <td>|<%=lv_qty>|</td>
</tr>

生成的HTML:

<tr>
  <td>Value1 </td>
  <td>Value2 </td>
  <td>
    |3 |  <!-- Note the extra space here! -->
  </td>
</tr>

所以我总是得到额外的空间;但它只会在尝试与<input type="number">

一起使用时导致问题

有可能BSP还没有真正针对HTML 5进行更新,而我只是遇到了这个问题,但是我可以在服务器端做些什么来防止这种情况发生?

客户端我正在考虑使用JavaScript来削减额外的空间,但这似乎是一个不必要的解决方法。

修改

好的,在尝试简化问题的代码时,我实际上混淆了问题:

当我尝试将lv_qty用作type="number"的输入字段,然后因任何原因刷新页面时,我遇到了真正的问题。

本案例中的代码如下:

data: lv_qty type i.

<tr>
  <td><%=lv_field1%></td>
  <td><%=lv_fieldn%></td>
  <td>
    <input type="number" value="<%=lv_qty%>">
  </td>
</tr>

这仍然是简化的,但问题变得相当明显:(我把值lv_qty放在双引号中)。

我仍然认为我从服务器端获得的额外空间不应该存在,但修复非常简单:不要成为白痴并将数字作为数字传递回网页,而不是字符串:)

3 个答案:

答案 0 :(得分:2)

尝试使用带有压缩的字符串模板:

<td>|<%=|{ condense( lv_qty ) }|>|</td>

答案 1 :(得分:1)

删除整数值周围的双引号:

data: lv_qty type i.

<tr>
  <td><%=lv_field1%></td>
  <td><%=lv_fieldn%></td>
  <td>
    <input type="number" value=<%=lv_qty%> >  <!--No double quotes here-->
  </td>
</tr>

答案 2 :(得分:0)

由于您使用的是Z BSP,为什么不将lv_qty定义为页面属性类型字符串?

然后你的显示应该只是数字。