Android 应用 (Cordova) 上的文本区域中的字数超出限制

Posted

技术标签:

【中文标题】Android 应用 (Cordova) 上的文本区域中的字数超出限制【英文标题】:Words are exceeding the limit in text area on Android app (Cordova) 【发布时间】:2018-03-16 01:54:07 【问题描述】:

您好,我正在使用此代码在 textarea 中进行输入,并希望限制用户不要添加超过 1000 个单词。它在 Node.js 应用程序上运行良好,但是当我在我的 android 应用程序上使用此代码时(我正在使用 cordova 制作一个 Android 应用程序)。然后相同的代码让用户输入超过 1000 个单词。任何人都可以指导错误可能在哪里,因为我是初学者。

<div class="col-sm-12 col-xs-12">
<textarea class="form-control file-box" rows="6"
placeholder="write it here" ng-model="formData.message" required=""
maxlength="1000" name="complaintMessage" ng-keyup="check_complaint_length()"></textarea>
<span style="float: right; color: yellowgreen;">1000-formData.message.length characters left</span>
</div>

【问题讨论】:

你试过指令解决方案吗,这里建议:https://***.com/questions/36638071/input-maxlength-does-not-work-on-android-ionic @Cosmin 我认为他没有给出明确的答案? 你在使用 Ionic 吗?如果是,是哪个版本? @Cosmin 是 2.0.0 ng-maxlenght 可能会导致问题? 【参考方案1】:

如果你使用 Ionic v2,那么你应该有类似的东西:

@Directive(
  selector: '[max-limit]',
  host: 
    '(keypress)': '_onKeypress($event)',
  
)
export class MaxLimitDirective 
  @Input('max-limit') maxLimit; 
  _onKeypress(e) 
     const limit = +this.maxLimit;
     if (e.target.value.length === limit) e.preventDefault();
  

ngModule 中注册,例如:

@NgModule(
  imports: [ BrowserModule ],
  declarations: [ App, MaxLimitDirective ],
  ...
)
export class AppModule 

然后:

<textarea class="form-control file-box" rows="6"
placeholder="write it here" ng-model="formData.message" required=""
maxlength="1000" name="complaintMessage" max-limit="1000" ng-keyup="check_complaint_length()"></textarea>
<span style="float: right; color: yellowgreen;">1000-formData.message.length characters left</span>
</div>

【讨论】:

以上是关于Android 应用 (Cordova) 上的文本区域中的字数超出限制的主要内容,如果未能解决你的问题,请参考以下文章

Android 应用 (Cordova) 上的文本区域中的字数超出限制

JavaScript 在 Android 4.4+ 上的 Cordova 应用程序中不起作用

mailto:链接未在 Cordova 应用程序中打开 Android 上的邮件应用程序

在 Android 上的 Cordova 应用程序中的弹出窗口后面模糊

Cordova:Android 上的 sdcard 访问不起作用

Cordova - Android 上的 XHR 请求在模拟器中工作,但在手机上不工作