PDA

View Full Version : نحوه دریافت اطلاعات innerhtml مربوط به تگ ها در controller



leila.net
چهارشنبه 21 اسفند 1392, 09:37 صبح
با سلام
من برای دریافت بخشی از اطلاعات کاربر از tagsinput jquery استفاده می کنم . راهی که بتونم مقادیر ثبت شده توسط کاربر را از طریق controller و اکشن مربوطه بخونم چی هست؟ اینجا که attr با عنوان runatserver نداریم که بشه مثل وب فرم ازش استفاده کرد.
ممنون میشم در این زمینه راهنمایی کنید.

مهدی کرامتی
چهارشنبه 21 اسفند 1392, 11:09 صبح
مثال های خودش کامله:

<link rel="stylesheet" type="text/css" href="http://xoxco.com/projects/code/tagsinput/jquery.tagsinput.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://xoxco.com/projects/code/tagsinput/jquery.tagsinput.js"></script>
<!-- To test using the original jQuery.autocomplete, uncomment the following -->
<!--
<script type='text/javascript' src='http://xoxco.com/x/tagsinput/jquery-autocomplete/jquery.autocomplete.min.js'></script>
<link rel="stylesheet" type="text/css" href="http://xoxco.com/x/tagsinput/jquery-autocomplete/jquery.autocomplete.css" />
-->
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js'></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/start/jquery-ui.css" />




<script type="text/javascript">


function onAddTag(tag) {
alert("Added a tag: " + tag);
}
function onRemoveTag(tag) {
alert("Removed a tag: " + tag);
}


function onChangeTag(input,tag) {
alert("Changed a tag: " + tag);
}


$(function() {


$('#tags_1').tagsInput({width:'auto'});
$('#tags_2').tagsInput({
width: 'auto',
onChange: function(elem, elem_tags)
{
var languages = ['php','ruby','javascript'];
$('.tag', elem_tags).each(function()
{
if($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
$(this).css('background-color', 'yellow');
});
}
});
$('#tags_3').tagsInput({
width: 'auto',


//autocomplete_url:'test/fake_plaintext_endpoint.html' //jquery.autocomplete (not jquery ui)
autocomplete_url:'test/fake_json_endpoint.html' // jquery ui autocomplete requires a json endpoint
});




// Uncomment this line to see the callback functions in action
// $('input.tags').tagsInput({onAddTag:onAddTag,onRem oveTag:onRemoveTag,onChange: onChangeTag});


// Uncomment this line to see an input with no interface for adding new tags.
// $('input.tags').tagsInput({interactive:false});
});


</script>
<form>
<p><label>Defaults:</label>
<input id="tags_1" type="text" class="tags" value="foo,bar,baz,roffle" /></p>


<p><label>Technologies: (Programming languages in yellow)</label>
<input id="tags_2" type="text" class="tags" value="php,ios,javascript,ruby,android,kindle" /></p>


<p><label>Autocomplete:</label>
<input id='tags_3' type='text' class='tags'></p>


</form>


در بین تگ شروع و پایانی تگ form همان طور که می بینید از input به عنوان میزبان نمایش و دریافت تگ ها استفاده شده است. اگر مانند این مثال نام input شما tags_1 باشد کافی است در Action Method ای در کنترلر که محتویات این فرم را دریافت می کند پارامتری به نام tags_1 داشته باشید:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(string tags_1,string tags_2,string tags_3)
{
}

Dr.Bronx
چهارشنبه 21 اسفند 1392, 11:25 صبح
فکر می کنم اگر مدل بسازید و یک EditorFor براش قرار بدید کارتون خیلی ساده تر میشه .
از اون طرف هم توی کنترلر مدل رو میگیرید و نمیخواد نگران باشید که چند تا Input دارید .

موفق باشید ./