Read SharePoint workflow status in JavaScript

Source: http://sharepoint.stackexchange.com/questions/94648/sharepoint-2013-check-workflow-status-programmatically-javascript

var context = new SP.ClientContext.get_current();
  var web = context.get_web();
  var list = web.get_lists().getByTitle(listTitle);
  var listItem = list.getItemById(listItemId);  
  context.load(listItem);
  context.executeQueryAsync(
     function() {
       var workflowStatusField = listItem.get_parentList().get_fields().getByTitle(workflowTitle); //get workflow status field
       var workflowStatusValue = listItem.get_item(workflowTitle); //get workflow status field value
       success(workflowStatusValue);
     },
     error
  );

Open a popup window while sending post data

It’s actually very simple. It’s possible to create a form element and set the target to _blank so that upon submission the target will be opened in a new browser window/tab.
Use hidden input elements to pass data to the target URL.

<form action=”<target URL>” method=”POST” target=”_blank”>
  <input type=”hidden” name=”Name” value=”Wayne”>
  <input type=”submit” value=”Click here to open the window”>
</form>

If  you don’t want a button, use CSS to style the submit button to make it look like a hyperlink.

If you use ASP.NET or SharePoint the framework may complain that there should be only one form tag in the page. In that case use Javascript to construct the form on the fly when the link is clicked, then get rid of the form element after the window is open.

function openWindow()
{
var mapForm = document.createElement(“form”);
mapForm.style.display=”none”;
mapForm.target = “Map”;
mapForm.method = “POST”; // or “post” if appropriate
mapForm.action = “http://localhost:55079/Default.aspx”;

var mapInput = document.createElement(“input”);
mapInput.type = “text”;
mapInput.name = “test”;
mapInput.value = “Test Data”;
mapForm.appendChild(mapInput);

document.body.appendChild(mapForm);

map = window.open(“”, “Map”, “status=0,title=0,height=600,width=800”);

if (map) {
mapForm.submit();
}
//delete the form element
mapForm.parentNode.removeChild(mapForm);
}

<a href=”#” onclick=”javascript:openWindow();”>Click here to open window</a>

Parse and send Microsoft JSON Date using Javascript

use the following code

var date = new Date(parseInt(jsonDateString.substr(6)));

To pass the date back to the ASP.NET server to deserialize, note that JSON.stringify will escape the slashes in the date values causing parse error in the server. To correct this, use the code below
(shttp://stackoverflow.com/questions/11852432/using-net-javascriptserializer-deserialize-with-datetime-from-client)

function customJSONstringify(obj) {
    return JSON.stringify(obj).replace(//Date/g, "/Date").replace(/)//g, ")/")
}

Disable button on submit using javascript to prevent double clicking

Disable button on submit instead of onclick

Use this code?

Button is not firing postBack because you have disabled this. The approach to avoid multiple postBack is to have two buttons side by side. Real and dummy. On first click hide/delete the real button and show the dummy one
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" ClientIDMode="Static" OnClientClick="disableButton();"/>

<asp:Button ID="ButtonDummy" runat="server" Text="Button" ClientIDMode="Static" OnClientClick='return false;' style="display:none;"/>
and JS:
function disableButton() {

 $("#Button1").hide();

 $("#ButtonDummy").show();

 return true;
 }
shareimprove this answer

Check if it’s edit mode in javascript in Sharepoint

var wikiInEditMode = document.forms[MSOWebPartPageFormName]._wikiPageMode.value;
if (wikiInEditMode == “Edit”)
{
// wiki page is in edit mode
}
else
{
// wiki page is not in edit mode
}

Another solution http://sharepoint.stackexchange.com/questions/12792/how-do-i-know-if-the-page-is-in-edit-mode-from-javascript

var inDesignMode = document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value;

if (inDesignMode == "1")
{
    // page is in edit mode
}
else
{
    // page is in browse mode
}