所以我想对值中包含的值进行空值安全检查.
所以我有3个对象包含在彼此之内:
人具有衣服对象,其具有具有资本的国家对象
所以一个人可能没有衣服,所以像这样的支票会抛出一个空指针:
if (person.getClothes.getCountry.getCapital)
Run Code Online (Sandbox Code Playgroud)
如果路径上的任何对象为空,我将如何创建这样的语句只返回false?
我也不想这样做.(如果可能的话,在Java-8中使用单行程序.
if (person !=null) {
if (person.getClothes != null) {
if (person.getClothes.getCountry !=null) {
etc....
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个用户可以上传文档的页面.还有一个按钮可以添加更多文档(如图所示).
我想检查已从上传部分添加或删除的每个文件,以确保大小不超过10 MB.
因此,如果用户上传3个单独的2 MB文件,然后添加一个5 MB的文件,则提交按钮将被禁用,直到其中一个文件被删除,因为它超过了10 MB的限制.
可以动态添加行,因此我按类进行操作并尝试将运行总计相加.
这是我到目前为止所提供的,可在JFIDDLE获得
<form class="upload-form">
<input class='upload-file' type="file" id="upload0">
<input class='upload-file' type="file" id="upload1">
<input class='upload-file' type="file" id="upload2">
<input class='upload-file' type="file" id="upload3">
<input id='submitBtn' type=submit>
</form>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我添加一个文件然后删除它,它就不会反映当前的运行总数.
$("document").ready(function() {
var fileArr = [];
$(".upload-file").on('change',function() {
var fileInput = $('.upload-file');
var fileSize = fileInput.get(0).files[0].size;
fileArr.push(fileSize);
var totalSize = 0;
for (var i in fileArr) {
alert(fileArr[i]);
totalSize = totalSize + fileArr[i];
}
if (totalSize > 10485759) {
alert('Over Max Size');
$(submitBtn).prop("disabled",true);
}
});
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过这种方式,但是在删除文件时无法重置. …
所以我正在构建一个拖放表单构建器,我想在所有输入readOnly上创建一个特定字段.这可以
日期输入
所有这些输入都将动态生成.
我看看 如何使用javascript在所有输入字段上添加readonly属性? & 如何在具有相同类的多个文本框上将readonly属性设置为false?
但没有一个只是通过类名输入名称readOnly.
我目前正在这样做:
$("#editClick").on('click', function(){
$('.myNameClass').attr('readonly', false);
Run Code Online (Sandbox Code Playgroud)
});
但每次在页面上出现新字段时都需要一种方法来触发它(即检查是否增加了一个类的长度)
就像是:
if ($(".myNameClass")[0]).increases -> fire event-> and every time it does
Run Code Online (Sandbox Code Playgroud) 所以我有一个带有多个按钮的表单,每个按钮在控制器中都有一个Request映射。
所以我想停止表单的双重提交,但是单击后我无法禁用该按钮,因为控制器无法获取它需要知道的信息。这是我得到的错误:
org.springframework.web.bind.UnsatisfiedServletRequestParameterException: Parameter conditions "update" OR "verify" OR "reject" OR "updateCard" OR "approve" OR "withdraw" OR "updateStatusToReject" OR "updateStatusToApprove" not met for actual request parameters:
Run Code Online (Sandbox Code Playgroud)
因此,我觉得单击后将按钮设为只读可以解决此问题。
到目前为止,我已经尝试过了,但是仍然允许重复提交。
$('.sendButton').click(function(){
$(this).prop('readonly', true);
});
<c:if test="${requestForm.status == 'R'}">
<input type="submit" name="updateStatusToApprove" value="Update To Approved" tabindex="7"
class="sendButton" id="appealA"/>
</c:if>
<c:if test="${requestForm.status == 'A' || requestForm.status == 'AA'}">
<input type="submit" name="updateStatusToReject" value="Update To Rejected" tabindex="8"
class="sendButton" id="appealR"/>
Run Code Online (Sandbox Code Playgroud)
关于如何在不实际禁用按钮的情况下停止重复提交的任何想法。
所以我试图传递输入ID并获取其相应的类型.
例如.
<input id = "1" type = "date"/>
<input id = "2" type = "text"/>
Run Code Online (Sandbox Code Playgroud)
所以传递"1"将返回日期,传递"2"将返回文本.
我看了几个例子,但没有一个适用于我的案例:
到目前为止我所拥有的:
$("#my_select").on('click',function(){
var fieldID = document.querySelector('.selected').id
console.log("id is " + fieldID);
var elementType = $(this).prev().prop('.selected');
console.log("element type " + elementType)
});
Run Code Online (Sandbox Code Playgroud) html ×4
javascript ×4
jquery ×4
formbuilder ×1
forms ×1
if-statement ×1
java ×1
java-8 ×1
null ×1
optional ×1
spring ×1