묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[re] 문서의 일정부분을 선택하는 스크립트에 대한 질문.
2003.08.07 17:47
우선 3번만 선택된 이유를 말씀드리겠습니다.
selectAll() 함수를 세번 정의하셨던데요.
이럴경우 selectAll() 함수는 가장 마지막에서 정의한 것으로 적용이 됩니따.
따라서 무조껀 3번만 선택되었습니다.
아래는 제가 좀 손본 건데요 일케하면 사용하시는 데 별 무리가 없을듯 싶습니다.
제 개인적인 생각으로는 선택부분 복사하는 버튼은 하나만 있어도 괜찮지 않을까 싶네요.. ^^;
<script>
function copyText() {
var sel = document.selection;
var rng = sel.createRange();
rng.execCommand('Copy');
}
function selectAll(num) {
select_form = eval("form1.input" + num );
select_form.createTextRange().select();
}
</script>
<form name=form1>
<input type="text" value="복사할내용1" name="input1" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(1)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
<input type="text" value="복사할내용2" name="input2" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(2)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
<input type="text" value="복사할내용3" name="input3" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(3)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
</form>
>문서가 파트1, 파트2 그리고 파트3으로 나누어져 있습니다.
>자신이 원하는 파트를 드래그로 영역을 지정하기보다,
>버튼 혹은 링크를 클릭함으로써 (지정한) 부분적으로 문서를 선택하고 싶은데
>그게 잘 안되네요.
>
>파트1 -[선택버튼1] (클릭하면 파트 1선택)
>파트2 -[선택버튼2] (클릭하면 파트 2선택)
>파트3 -[선택버튼3] (클릭하면 파트 3선택)
>
>이런 식으로 말입니다.
>
>시도해본 방법은 Form과 Textarea를 지정해 준 후, 아래의 스크립트를 넣어봤습니다만
>-----------------------------------------------------
>function selectAll() {
> formname.inputname.createTextRange().select();
>}
>
><a onClick='selectAll()'>선택버튼</a>
>-----------------------------------------------------
>
>스크립트를 여러번 써주면, 선택1, 2 버튼을 누르더라도 맨 아래의 스크립트만을 인식해버려서
>항상 파트3이 선택 되어버립니다.
>
>여러부분을 나누어서 선택할 수 있는 방법은 없을까요?
>
>- 상황이해를 돕기 위해 링크파일을 추가시켰습니다.
selectAll() 함수를 세번 정의하셨던데요.
이럴경우 selectAll() 함수는 가장 마지막에서 정의한 것으로 적용이 됩니따.
따라서 무조껀 3번만 선택되었습니다.
아래는 제가 좀 손본 건데요 일케하면 사용하시는 데 별 무리가 없을듯 싶습니다.
제 개인적인 생각으로는 선택부분 복사하는 버튼은 하나만 있어도 괜찮지 않을까 싶네요.. ^^;
<script>
function copyText() {
var sel = document.selection;
var rng = sel.createRange();
rng.execCommand('Copy');
}
function selectAll(num) {
select_form = eval("form1.input" + num );
select_form.createTextRange().select();
}
</script>
<form name=form1>
<input type="text" value="복사할내용1" name="input1" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(1)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
<input type="text" value="복사할내용2" name="input2" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(2)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
<input type="text" value="복사할내용3" name="input3" style="border:0">
<input type="button" value="부분 선택" name="SelectAll" onClick="selectAll(3)" onfocus="this.blur()" style="border:0">
<input type="button" value="부분 복사" name="CopyText" onClick="copyText()" onfocus="this.blur()" style="border:0">
</form>
>문서가 파트1, 파트2 그리고 파트3으로 나누어져 있습니다.
>자신이 원하는 파트를 드래그로 영역을 지정하기보다,
>버튼 혹은 링크를 클릭함으로써 (지정한) 부분적으로 문서를 선택하고 싶은데
>그게 잘 안되네요.
>
>파트1 -[선택버튼1] (클릭하면 파트 1선택)
>파트2 -[선택버튼2] (클릭하면 파트 2선택)
>파트3 -[선택버튼3] (클릭하면 파트 3선택)
>
>이런 식으로 말입니다.
>
>시도해본 방법은 Form과 Textarea를 지정해 준 후, 아래의 스크립트를 넣어봤습니다만
>-----------------------------------------------------
>function selectAll() {
> formname.inputname.createTextRange().select();
>}
>
><a onClick='selectAll()'>선택버튼</a>
>-----------------------------------------------------
>
>스크립트를 여러번 써주면, 선택1, 2 버튼을 누르더라도 맨 아래의 스크립트만을 인식해버려서
>항상 파트3이 선택 되어버립니다.
>
>여러부분을 나누어서 선택할 수 있는 방법은 없을까요?
>
>- 상황이해를 돕기 위해 링크파일을 추가시켰습니다.