No se puede concatenar text en JXA

Estoy tratando de upload al carro de Javascript para Automatización. Escribí un guión rápido que automatiza mi correo electrónico de request de viaje, con algunos cuadros de dialog.

Aquí está mi código:

  • Globo de recuperación de Internet de OS X
  • Restaure Mac de Time Machine mientras está en Modo a testing de fallos. Protegido con contraseña, no visto
  • ¿Cómo puedo eliminar "inputs zombie" de los elementos de inicio de session cuando los controles están atenuados?
  • Virus Scan Windows 8 Bootcamp ¿Partición de OS X?
  • ¿Salir del instalador de actualización del sistema operativo al reiniciar?
  • ¿Cómo deslizar hacia arriba en el Control de Misión y luego deslizar de nuevo hacia abajo sin levantar los dedos?
  • Mail = Application("Mail"); Mail.includeStandardAdditions = true Origin = Mail.displayDialog( 'Where is the trip starting from?', { defaultAnswer: 'Shanghai', buttons:["Cancel", "Continue"], defaultButton: "Continue" }) Destination = Mail.displayDialog( 'Where is the trip to?', { defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) StartDate = Mail.displayDialog( 'When are you leaving?', { title: "Onward Flight Date", defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) RtnDate = Mail.displayDialog( 'When are you returning?', { title: "Return Flight Date", defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) content = 'Hi \n\n' + 'I am currently trying to arrange travel for an upcoming trip.\n\n' + 'Could you please help me in sorting out the flights, hotels and airport transfers?\n\n' + 'Please find below the details of the trip:\n\n' + 'FLIGHTS\n\n' + 'Onward Journey:\n'+ '\n' + ' From \t\t\t\t- ' + Origin.text +'\n' + ' To \t\t\t\t\t- ' + Destination + '\n' + ' Date of Departure \t- ' + StartDate + '\n' + '\n' + 'Return Journey:\n'+ '\n' + ' From \t\t\t\t- ' + Destination + '\n' + ' To \t\t\t\t\t- ' + Origin + '\n' + ' Date of Departure \t- ' +RtnDate+ '\n' + '\n' + 'Prefernetworking Airline \t\t\t\t- Star Alliance \n' + 'Meal Preference \t\t\t\t- Vegetarian\n'+ '\n' + 'Loyalty Program\t\t\t\t- United:\n' + '\n ________________________________________ \n'+ '\n' + 'HOTEL\n\n' + ' CheckIn Date \t\t- ' + StartDate + '\n' + ' CheckOut Date \t\t- ' + RtnDate + '\n' + '\n' + 'Prefernetworking Hotels \t\t\t\t- SPG\n' + 'Loyalty Program \t\t\t\t- SPG:\n' + '\n ________________________________________ \n'+ '\n' + 'Thank you\n' msg = Mail.OutgoingMessage({ subject: 'Itinerary Request - ', content: content, visible: true }); Mail.outgoingMessages.push(msg); Mail.activate(); 

    Pero cuando ejecuto el script, los lugares donde he usado las variables parecen venir como [object Object]. (Mostrado a continuación)

    Resultado

    ¿Alguien puede señalar dónde me estoy equivocando?

  • Usando el Servidor de Actualización de Software
  • Alto uso de CPU por un process llamado PTPCamera
  • Cómo saltar rápidamente a otra aplicación sin usar la pestaña de command
  • ¿Hay alguna manera de teletransportar rápidamente una window de una pantalla a otra?
  • Se borraron accidentalmente algunas particiones de pequeño tamaño al instalar WIndows (Bootcamp). La partición OSX no arranca
  • MacOS High Sierra: desactive las tabs para todas las aplicaciones?
  • One Solution collect form web for “No se puede concatenar text en JXA”

    displayDialog devuelve un object, no una cadena. Al imprimir un object como una cadena, se muestra como [object Object]. El object devuelto por displayDialog es el siguiente:

     {"buttonReturned":"Continue", "textReturned":"your text here"} 

    Por lo tanto, debe usar la propiedad textReturned del object. Pareció intentar esto cuando accedió a la propiedad de text de Origin, pero como la propiedad se llama 'textReturned', tampoco funcionó. Para cada una de las variables donde lo está imprimiendo en una cadena, reemplace

     + ' From \t\t\t\t- ' + Origin.text +'\n' + ' To \t\t\t\t\t- ' + Destination + '\n' 

    con

     + ' From \t\t\t\t- ' + Origin.textReturned +'\n' + ' To \t\t\t\t\t- ' + Destination.textReturned + '\n' 

    En el futuro, cuando intente depurar algo así, cree un ejemplo mínimo, completo y verificable . En este caso, solo use un displayDialog y observe el valor de la variable. (En general, se requiere MCVE en las preguntas de Stack Exchange, y creo que esta pregunta empujó ese límite para proporcionar un guión completo).

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).