2016-03-14 2 views
1

Мне нужен код jQuery для следующего: Если действие формы является конкретной ссылкой, тогда мне нужно скрыть определенные элементы внутри него.Проверить действие формы и скрыть элемент

<form action="/sites/page1.aspx"> 
    <div class="A"></div> 
    <div class="B"></div> 
</form> 

Если форма действия /sites/page1.aspx то мне нужно, чтобы скрыть класс A

<form action="/sites/page2.aspx"> 
    <div class="A"></div> 
    <div class="B"></div> 
</form> 

Если форма действия /sites/page2.aspx, то мне нужно, чтобы скрыть класса B в

Спасибо заранее.

+1

http://api.jquery.com/attr & http://api.jquery.com/hide –

ответ

0

Дайте некоторый идентификатор тегу формы, например id = "myform", и в javascript try document.getElementById ("myForm") действие, и вы получите URL-адрес действия. Отдых вы можете сделать с небольшими усилиями, добавив условие в вашем JavaScript :-)

Примера с JQuery певцом можно использовать при загрузке:

$(window).load(function() { 
var form = $('#myform').attr('action'); 
if(form == '/sites/page1.aspx'){ 
//Code to hide your DIV ;-) 
} 
} 
+0

Это не работает. Прости. Это фактически сайт sharepoint, который я не могу редактировать. Поэтому, пытаясь контролировать использование jquery –

1

Попробуйте это:

if ($('form').attr('action') == '/sites/page1.aspx') { 
    $('form .A').hide(); 
} else if ($('form').attr('action') == '/sites/page2.aspx') { 
    $('form .B').hide(); 
} else { 
    // do whatever you want 
} 

$(document).ready(function() { 
 
    console.log('HELLO -> ' + $('form').attr('action')); 
 
    if ($('form').attr('action') == '/sites/page1.aspx') { 
 
     $('form .A').hide(); 
 
    } else if ($('form').attr('action') == '/sites/page2.aspx') { 
 
     $('form .B').hide(); 
 
    } else { 
 
     // do whatever you want 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div> 
 

 
    <form action="/sites/page1.aspx"> 
 
     <div class="A">Hello</div> 
 
     <div class="B">It's me</div> 
 
    </form> 
 

 
</div>

1

Решение такое же простое, как правило CSS, нет необходимости делать какие-либо JQuery, который является хорошей вещью, так как он будет работать, даже если Javascript отключен в браузере:

form[action=\/sites\/page1.aspx] > .A, form[action=\/sites\/page2.aspx] > .B { 
    display: none; 
} 

И вы можете создать это в style тега, если вам это нужно динамически, или написать это во внешний CSS, если у вас есть предопределенный набор.

Смежные вопросы