我正在使用名为Optiview的软件制作一个用于会计目的的表格。我有一个签名字段,看起来像一个按钮,但具有不同的属性。当必须签署该表格的人按下该按钮时,它会自动打开一个对话框,让用户有机会同意表格上的信息。如果用户接受它,它将标记接受的用户名,日期和时间。我想要做的是在提交表单之前验证该按钮是否有信息,但下面的代码总是返回空(“”)或未定义,即使该字段已标记了签名。如果需要更多详细信息,请告知我们。
代码:始终返回空白
var signature = $(Reviewer).attr('id');
var signvalue = $(signature).text();
if (signvalue == "")
{
CSClient.alert("Please sign before submitting invoice!")
return false;
}
代码:始终返回undefined
var signature = $(Reviewer).attr('id');
var signvalue = $(signature).val();
if (signvalue === undefined)
{
CSClient.alert("Please sign before submitting invoice!")
return false;
}
任何帮助都将非常感激
PD:我是新手使用jquery / javascript,所以请尽量向我解释更多细节。
谢谢
答案 0 :(得分:2)
我相信您想使用.val()而不是.text()。
var signature = $(Signature).attr('id');
var signvalue = $(signature).val();
if (signvalue == "")
{
CSClient.alert("Please sign before submitting invoice!")
return false;
}
有关详细信息,请参阅this question/answer。
另外我相信你想用“===”而不是“==”,但如果我错了,别人可以纠正我。
修改:对原帖进行澄清:
我认为这应该适用于你想要做的事情:
var signature = $("#Reviewer").val();
if (signature === "") {
CSClient.alert("Please sign before submitting invoice!")
return false;
}