The Code of full file that can be bounded to CEWP.
=======================================================================
=======================================================================
<div onkeydown='javascript:if (event.keyCode == 13) postSurvey()'>
<p>1. How is the weather?<br />
<input name='q1' id='q1Bad' type='radio' value='Bad'/><label for='q1Bad'> Bad</label><br />
<input name='q1' id='q1Good' type='radio' value='Good'/><label for='q1Good'> Good</label><br />
<input name='q1' id='q1Great' type='radio' value='Great'/><label for='q1Great'> Great</label>
</p>
<p>2. How are you doing?<br />
<input name='q2' id='q2Fine' type='radio' value='Fine'/> <label for='q2Fine'>Fine</label><br />
<input name='q2' id='q2Good' type='radio' value='Good' /><label for='q2Good'> Good</label><br />
<input name='q2' id='q2Great' type='radio' value='Great' /><label for='q2Great'> Great</label>
</p>
<input type='button' value='Submit' onclick='javascript:postSurvey();' />
</div>
/*
These 2 files are really important, The Order is also important
*/
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js" ></script>
<script language='javascript' type='text/javascript'>
function getCheckedValue(buttonGroup) {
if (!buttonGroup)
return '';
var objLength = buttonGroup.length;
if (objLength == undefined) {
if (buttonGroup.checked)
return buttonGroup.value;
else
return '';
}
for (var i = 0; i < objLength; i++) {
if (buttonGroup[i].checked)
return buttonGroup[i].value;
}
return '';
}
function postSurvey() {
// Retrieve the radio button values
var question1 = getCheckedValue(document.getElementsByName('q1'));
var question2 = getCheckedValue(document.getElementsByName('q2'));
/* Validate the response.
Do nothing more until all questions are answered.
*/
if (question1 == '' || question2 == '') {
alert('Please answer all questions.')
return;
}
// Get the current context
var context = new SP.ClientContext.get_current();
// Get the current site (SPWeb)
var web = context.get_web();
// Get the survey list
var list = web.get_lists().getByTitle('SampleSurvey');
// Create a new list item
var itemCreateInfo = new SP.ListItemCreationInformation();
var listItem = list.addItem(itemCreateInfo);
/* Set fields in the item.
In managed code, this would be listItem[fieldname] = value.
In Javascript, call listItem.set_item(fieldName,value).
*/
listItem.set_item('How_x0020_is_x0020_the_x0020_wea', question1);
listItem.set_item('How_x0020_are_x0020_you_x0020_do', question2);
listItem.update();
// Create callback handlers
var success = Function.createDelegate(this, this.onSuccess);
var failure = Function.createDelegate(this, this.onFailure);
// Execute an async query
context.executeQueryAsync(success,failure);
}
// Async query succeeded.
function onSuccess(sender, args) {
alert('Thank you for responding to our survey!');
// Refresh the page.
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
// Async query failed.
function onFailure(sender, args) {
alert(args.get_message());
}
</script>
<p>1. How is the weather?<br />
<input name='q1' id='q1Bad' type='radio' value='Bad'/><label for='q1Bad'> Bad</label><br />
<input name='q1' id='q1Good' type='radio' value='Good'/><label for='q1Good'> Good</label><br />
<input name='q1' id='q1Great' type='radio' value='Great'/><label for='q1Great'> Great</label>
</p>
<p>2. How are you doing?<br />
<input name='q2' id='q2Fine' type='radio' value='Fine'/> <label for='q2Fine'>Fine</label><br />
<input name='q2' id='q2Good' type='radio' value='Good' /><label for='q2Good'> Good</label><br />
<input name='q2' id='q2Great' type='radio' value='Great' /><label for='q2Great'> Great</label>
</p>
<input type='button' value='Submit' onclick='javascript:postSurvey();' />
</div>
/*
These 2 files are really important, The Order is also important
*/
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js" ></script>
<script language='javascript' type='text/javascript'>
function getCheckedValue(buttonGroup) {
if (!buttonGroup)
return '';
var objLength = buttonGroup.length;
if (objLength == undefined) {
if (buttonGroup.checked)
return buttonGroup.value;
else
return '';
}
for (var i = 0; i < objLength; i++) {
if (buttonGroup[i].checked)
return buttonGroup[i].value;
}
return '';
}
function postSurvey() {
// Retrieve the radio button values
var question1 = getCheckedValue(document.getElementsByName('q1'));
var question2 = getCheckedValue(document.getElementsByName('q2'));
/* Validate the response.
Do nothing more until all questions are answered.
*/
if (question1 == '' || question2 == '') {
alert('Please answer all questions.')
return;
}
// Get the current context
var context = new SP.ClientContext.get_current();
// Get the current site (SPWeb)
var web = context.get_web();
// Get the survey list
var list = web.get_lists().getByTitle('SampleSurvey');
// Create a new list item
var itemCreateInfo = new SP.ListItemCreationInformation();
var listItem = list.addItem(itemCreateInfo);
/* Set fields in the item.
In managed code, this would be listItem[fieldname] = value.
In Javascript, call listItem.set_item(fieldName,value).
*/
listItem.set_item('How_x0020_is_x0020_the_x0020_wea', question1);
listItem.set_item('How_x0020_are_x0020_you_x0020_do', question2);
listItem.update();
// Create callback handlers
var success = Function.createDelegate(this, this.onSuccess);
var failure = Function.createDelegate(this, this.onFailure);
// Execute an async query
context.executeQueryAsync(success,failure);
}
// Async query succeeded.
function onSuccess(sender, args) {
alert('Thank you for responding to our survey!');
// Refresh the page.
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
// Async query failed.
function onFailure(sender, args) {
alert(args.get_message());
}
</script>
No comments:
Post a Comment