问题
I searched high and low and cannot find a specific answer that works. I need to add a button to a form in App Maker to record a timestamp, not a date, when clicked. So far the only thing that I've managed to get to work is
widget.datasource.item.Timestamp_OUT = new Date();
I've also tried
var timestamp = getTimeStamp();
But keep getting an error "ReferenceError: "getTimeStamp" is not defined". I'm probably missing the obvious as it shouldn't be this difficult to do something this simple. Any help is appreciated, thanks.
回答1:
Based on your comment:
You got almost everything right with a couple of exceptions. So your getTimeStamp function should look like this:
function getTimeStamp(){
var timestamp = + new Date();
return timestamp;
}
That is, because you have to return a value. The other problem is that when you are assigning the value to the datasource item, you don't have to use the keyword new
; therefore, it should be like this:
var timestamp = getTimeStamp();
widget.datasource.item.Timestamp_IN = timestamp;
The above is basic javascript. I recommend you to dig into javascript before moving forward with appmaker.
回答2:
Success! With the help of everyone here and the guys at this link: Google Groups - Solution I've managed to crack the case (and learn some stuff along the way).
Everything originally above works just fine if you take the " + " out of the function so it reads
function getTimeStamp(){
var timestamp = new Date();
return timestamp;
}
Then, onclick of
var timestamp = getTimeStamp();
widget.datasource.item.Timestamp_IN = timestamp;
Next, format the table to show the correct data with
@datasource.item.Test_Timestamp#formatDate('EEEE \x27at\x27 h:mm:ss a')
And "Hey Presto!" you get a button that, when clicked, gives you a timestamp. Thaks to everyone who pitched in, you're the reason people who are learning continue to do so and don't throw in the towel when things get difficult :)
来源:https://stackoverflow.com/questions/54829314/google-app-maker-add-a-button-for-timestamp-collection-in-the-onclick-method